【问题标题】:Switching Activitys切换活动
【发布时间】:2013-05-15 10:00:51
【问题描述】:

我正在尝试使用按钮切换活动。

Skillz.java

Button b2 =(Button)findViewById(R.id.button2);
b2.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Intent myintent = new Intent();
        String packageName="marco.skillz.app";
        String className="marco.skillz.app.act2";
        myintent.setClassName(packageName, className);
        startActivity(myintent);
    }
});

act2.java

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page2);
}

当应用程序在模拟器中运行时,我收到以下错误:

The application "app name" (process marco.skillz.app) has stopped unexpectedly.

已修复!!我觉得很愚蠢,我有 android:name=".act1" 而应该是 android:name=".act2"。

感谢您的所有意见:P

【问题讨论】:

    标签: java android actionbarsherlock


    【解决方案1】:

    请这样检查

       public void onClick(View v) {
            Intent myintent = new Intent(Skillz.this,act2.class);
            startActivity(myintent);
    
        }
    

    在清单文件中添加 act2 活动

    【讨论】:

    • 谢谢。我在清单文件中放置了 android:name=".act1" 而不是 android:name=".act2" 。 :P
    【解决方案2】:

    oncreate 中试试这个 Skillz.java

        Button b2 =(Button)findViewById(R.id.button2);
                 b2.setOnClickListener(new OnClickListener()
                 {public void onClick
                 (View  v) { 
                        Intent i = new Intent(getApplicationContext(), act2.class);
                          startActivity(i);
    }
                 });
    

    【讨论】:

    • 不走运:(同样的错误仍然发生。感谢您的输入;)
    • 是的,我不小心把 android:name=".act1" 而不是 android:name=".act2"。
    • 好!通常 logcat 应该告诉您您忘记将活动添加到 manifest.xml ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    相关资源
    最近更新 更多