我正在学习android开发。我创建了一个由按钮(id:button1)组成的简单布局。我在这个按钮上添加了一个OnClickListener,单击该按钮会显示下一页(布局)。代码中似乎没有错误,但是当我运行它时,它只会崩溃。我尝试使用android 2.3.3和2.2模拟器,但没有成功。当我注释掉onclicklistener部分时,应用运行。 我搜索了各种网站和问题,但没有成功。 这是java代码:
package com.sid.next;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class mySplash extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent("com.sid.next.SHOWMENU"));
}
});
}
}
EDIT1: stacktrace
编辑2: main.xml
编辑3:[已解决!]我没有为myMenu.java活动设置任何内容视图。不管怎样,谢谢!
edit4:将 android.R.id.button1 更改为 R.id.button1
答案 0 :(得分:1)
替换
final Button b1 = (Button)findViewById(android.R.id.button1);
人:
final Button b1 = (Button)findViewById(R.id.button1);
由 R 取代 android.R 。
答案 1 :(得分:1)
好。所以最后我自己弄清楚了! 我没有为myMenu.java类设置任何contentView。
还将 android.R.id.button1 更改为 R.id.button1 。 (信用:Imran Rana)
谢谢大家!答案 2 :(得分:0)
如果SHOWMENU
是一个Activity,则在Manifest File中声明。
根据给定的数据,我认为这是您的选择。
<activity
android:name=".SHOWMENU"
android:label="@string/app_name" />
在<application > </application>
文件
AndroidManifest.xml
标记内添加内容
只需复制并粘贴xml
即可<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name="com.sid.next.SHOWMENU"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.sid.next.SHOWMENU"
android:label="@string/app_name" />
</application>
答案 3 :(得分:0)
Rathter以这种方式调用活动
startActivity(new Intent("com.sid.next.SHOWMENU"));
试试这种方式
Intent g = new Intent(new Intent(mySplash .this, SHOWMENU.class));
startActivity(g);
答案 4 :(得分:0)
试试这个
Intent i = new Intent(new Intent(CURRENT_SCREEN_NAME.this, NEXT_SCREEN_NAME.class));
startActivity(i);
并且不要忘记在活动下方的清单中写下这个。
<activity android:name=".NEXT_SCREEN_NAME" ></activity>