我刚开始开发Android(作为.Net开发人员)
我正在关注一本书中的代码,并开始一个新的“表格”(屏幕),他们会显示这段代码
Intent i = new Intent("net.learn2develop.ACTIVITY2");
类定义是这样的:
package net.learn2develop.Activities;
//imports removed
public class Activity2 extends Activity {
我的问题是:我假设Intent中构造函数中的字符串是类名。
但为什么它是'net.learn2develop'
而不是'net.learn2develop.Activities'
,为什么类名全部为大写?
答案 0 :(得分:5)
查看文档:{{3}}。
所以这实际上是动作名称,而不是类名。他们通常看起来非常类似于毫无准备的眼睛。查看AndroidManifest.xml
并搜索net.learn2develop.ACTIVITY2
字符串。你应该找到类似的东西:
<activity android:name=".Activity2" >
<intent-filter >
<action android:name="android.intent.action.ACTIVITY2" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 1 :(得分:1)
无需使用班级名称作为上限。事实上,使用它完全按照您声明的方式使用它。 因为android使用java作为语言而java是区分大小写的语言。
例如,开始新的活动:
Intent i=new Intnet("net.learn2develop.Activity2"); //assuming that your package name is net.learn2develop
startActivity(i);
或
Intent i=new Intnet(Activity1.this,Activity2.class) //assuming that your current class name is Actvity1
startActivity(i);
最后不要忘记在清单文件中声明新的活动。