java没有多少基础,学过面向对象 ,但是基本上都忘记了,现在开始学习Android,将自己出现的一些错误以及问题写出来,以后自己看和大家一起学习。小白一只,有错误希望大家指出来,这样才能成长嘛(可爱脸)!
2016年5月18日18:22:00
1、当 android:orientation=”vertical” 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
2、当 android:orientation=”horizontal” 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
2016年5月19日14:30:54
1、在文本框中显示背景提示文字(Edit a Message),在activity_main.xml里面里面写上android:hint="@string/edit_message"/>
,然后在string.xml里面初始相应的值<string name="edit_message">Enter a Message</string>
2、如果在res目录下面没有menu目录,可以新建一个,但是新建的xml文件总会选择为Values还是Layout的,无法保证建立的xml在menu目录下面
方法:建立好menu文件后,右键menu目录建立一个menu resource file文件,命名即可。
2016年5月20日22:01:40
打开android studio后,在Android monitor中总是显示“No Debuggable Applications”
解决方法:进入 android studio , 依次选择Tools-> Android -> Enable ADB Integration
. 然后就不会出现“No Debuggable Applications”的提示了
2016年5月21日18:19:49
使用隐示Intent时候出现这样的错误:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.chencong.activitytestintent.ACTION_START cat=[com.example.chencong.activitytestintent.MY_CATEGORY] }
错误信息提示,没有任何一个活动可以响应我们的Intent。
原因:在Intent中新增了一个category,而SecondActivity的<intent-filter>
标签中并没有声明可以响应这个category,所以就会出现没有任何活动可以响应该Intent的情况。
解决方法:在AndroidManifest.xml的<intent-filter>
中添加一个category的声明。
<category android:name="com.example.chencong.activitytestintent.MY_CATEGORY"/>
下面为<activity>
中代码:
<activity android:name=".ThirdActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="tel"/>
</intent-filter>
</activity>
2016年5月21日19:47:25
使用Intent传递参数时,程序能够执行成功但是在接受参数的活动页面没有显示参数。
接受页面(SecondActivity)的onCreate()方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
/*从Intent中取值*/
Intent intent=getIntent();
String date=intent.getStringExtra("extra_data");
Log.d("SecondActivity",date); /*在日志中打印*/
}
修改之后的onCreate()方法,创建一个TextView来显示参数:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
/*从Intent中取值*/
Intent intent=getIntent();
String date=intent.getStringExtra("extra_data");
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText(date);
setContentView(textView);
Log.d("SecondActivity",date); /*在日志中打印*/
}
向上面那样将代码修改后就好了。正确执行,并且能够显示参数了。
顺带说一下传递参数的活动的onCreate()方法的书写,使用显示Intent传递参数:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button=(Button)findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*显示点击了这个按钮,可以不要*/
Toast.makeText(FirstActivity.this,"传递参数中...",Toast.LENGTH_SHORT).show();
String data="hello SecondActivity";
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("extra_data",data);
startActivity(intent);
}
});
}
2016年5月21日20:56:23
小白一只,菜鸟一个,但是我有个愿望:
我挥舞着键盘和本子,
发誓要把世界写个明明白白。
——《第一行代码Android·郭霖》
学习Android第3
天