我正在学习android并在教程中打开他们使用的新屏幕
...
startActivity( new Intent("com.rob.minispy.sweet"));
(在main.java中)
...
public class sweet extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
}
}
(在sweet.java中)
...
最后
<activity android:name=".sweet"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.SWEET" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
(在清单中)
现在不仅它不能真正发挥作用并使应用程序崩溃,而且只是通过
更容易实现它setContentView(R.layout.splash);
来自main.java的还是有一些缺点?
谢谢!
答案 0 :(得分:4)
您有两种方法可以启动sweet
活动
答案 1 :(得分:0)
是的,最好开始一项新活动,因为这样Android会自动处理从一个活动到另一个活动的转换。您的应用程序崩溃是因为您不正确地执行了此操作。意图应创建为new Intent(this, com.rob.minispy.sweet.class)
。你在构造函数中使用一个字符串,它应该是一个动作而不是一个类。