Intent构造函数语法

时间:2011-12-23 08:13:42

标签: android

我刚开始开发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',为什么类名全部为大写?

2 个答案:

答案 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);

最后不要忘记在清单文件中声明新的活动。