java Android应用程序无法启动活动
我想知道为什么它不能打开新的java类。 当我尝试开始新的活动时,它将崩溃
public class MainActivity extends ActionBarActivity {
EditText emailEt;
TextView registerET;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
emailEt = (EditText) findViewById(R.id.email);
registerET = (TextView) findViewById(R.id.register);
registerET.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.i("clicks","You Clicked register page");
Intent myIntent = new Intent(MainActivity.this, RegisterActivity.class);
startActivity(myIntent);
MainActivity.this.finish();
}
});
}
public void OnLogin(View view) {
String username = emailEt.getText().toString();
String type = "login";
BackgroundWorker backgroundWorker = new BackgroundWorker(this);
backgroundWorker.execute(type, username);
}
}
可能有问题吗?我把它放错活动的位置了吗
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="com.example.a20_1discussboard">
<uses-permission 安卓:name="安卓.permission.INTERNET"></uses-permission>"
<application
安卓:allowBackup="true"
安卓:label="@string/app_name"
安卓:theme="@style/AppTheme" >
<activity
安卓:name=".MainActivity"
安卓:label="@string/app_name" >
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<activity 安卓:label="@string/app_name" 安卓:name=".RegisterActivity"/>
</manifest>
看起来可以打开新的java类,但它仍然显示MainActivity。 错误日志:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.a20_1discussboard, PID: 2194
java.lang.IllegalStateException: Could not find method onClick(View) in a parent or ancestor Context for 安卓:onClick attribute defined on view class 安卓.support.v7.widget.AppCompatTextView with id 'register'
at 安卓.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)
at 安卓.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
at 安卓.view.View.performClick(View.java:4780)
at 安卓.view.View$PerformClick.run(View.java:19866)
at 安卓.os.Handler.handleCallback(Handler.java:739)
at 安卓.os.Handler.dispatchMessage(Handler.java:95)
at 安卓.os.Looper.loop(Looper.java:135)
at 安卓.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:698)
# 1 楼答案
在AndroidManifest中的应用程序中尝试声明的活动。像这样的xml
# 2 楼答案
确保将
RegisterActivity
添加到AndroidManifest.xml
内<application>
标记中:# 3 楼答案
从onCreate方法中删除此行:
MainActivity.this.finish();
如果要停止或暂停MainActivity,请使用:
或
在活动课上
# 4 楼答案
谢谢大家
将RegisterActivity添加到
AndroidManifest.xml
内的<application>
标记并删除MainActivity.this.finish()
它现在正在工作
# 5 楼答案
放置正确的Menifest格式:
不要调用
finish()
,这会导致崩溃: