Java 安卓onclick登录崩溃
我是新的Android开发者——我正在尝试实现一个onClickListener,这样当点击一个按钮时,它会检查输入的文本,如果正确,就会启动一个新的活动 XML文件或类中都没有显示错误。但是当文本字段与代码匹配时,应用程序崩溃。[在LogCat中,在行中:startActivityintent;] 如果你能做到这一点,我们将不胜感激,谢谢Java 安卓onclick登录崩溃,java,android,xml,eclipse,android-intent,Java,Android,Xml,Eclipse,Android Intent,我是新的Android开发者——我正在尝试实现一个onClickListener,这样当点击一个按钮时,它会检查输入的文本,如果正确,就会启动一个新的活动 XML文件或类中都没有显示错误。但是当文本字段与代码匹配时,应用程序崩溃。[在LogCat中,在行中:startActivityintent;] 如果你能做到这一点,我们将不胜感激,谢谢 public class HomeMain extends Activity implements OnClickListener { EditTe
public class HomeMain extends Activity implements OnClickListener {
EditText editTextUN;
EditText editTextPW;
Button buttonlogin;
Button buttoncancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_main);
editTextUN = (EditText) findViewById(R.id.editTextUN);
editTextPW = (EditText) findViewById(R.id.editTextPW);
buttonlogin = (Button) findViewById(R.id.buttonlogin);
buttoncancel = (Button) findViewById(R.id.buttoncancel);
buttonlogin.setOnClickListener(this);
buttoncancel.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu;
// this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home_main, menu);
return true;
}
@Override
public void onClick(View v) {
String un=editTextUN.getText().toString();
String pw=editTextPW.getText().toString();
switch (v.getId()) {
case R.id.buttonlogin:
if(un.equals("techie") && pw.equals("techie")) {
Intent x=new Intent(this,Menu.class);
startActivity(x);
}
break;
case R.id.buttoncancel:
editTextUN.setText("");
editTextPW.setText("");
break;
default: break;
}
}
}
这是我的另一门课,onClick应该去上。这里还没发生什么事。现在它只是另一个屏幕
public class Menu extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
}
public void onClick(View v) {}
}
还有,LogCat错误:
E/AndroidRuntime(1702): FATAL EXCEPTION: main
E/AndroidRuntime(1702): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.appname.appname/android.view.Menu}; have you declared this activity in your AndroidManifest.xml?
E/AndroidRuntime(1702): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
E/AndroidRuntime(1702): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
E/AndroidRuntime(1702): at android.app.Activity.startActivityForResult(Activity.java:3390)
E/AndroidRuntime(1702): at android.app.Activity.startActivityForResult(Activity.java:3351)
E/AndroidRuntime(1702): at android.app.Activity.startActivity(Activity.java:3587)
E/AndroidRuntime(1702): at android.app.Activity.startActivity(Activity.java:3555)
E/AndroidRuntime(1702): at com.appname.appname.HomeMain.onClick(HomeMain.java:52)
E/AndroidRuntime(1702): at android.view.View.performClick(View.java:4240)
E/AndroidRuntime(1702): at android.view.View$PerformClick.run(View.java:17721)
E/AndroidRuntime(1702): at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime(1702): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(1702): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(1702): at android.app.ActivityThread.main(ActivityThread.java:5103)
E/AndroidRuntime(1702): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1702): at java.lang.reflect.Method.invoke(Method.java:525)
这是下面的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appname.appname"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.appname.appname.HomeMain"
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.appname.appname.Admin"
android:label="@string/title_activity_create" >
</activity>
<activity
android:name="com.appname.appname.MainActivity"
android:label="@string/activity_main" >
</activity>
<activity
android:name="com.appname.appname.NewJob"
android:label="@string/add_new_job" >
</activity>
<activity
android:name="com.appname.appname.EditJob"
android:label="@string/edit_job" >
</activity>
<activity
android:name="com.appname.appname.Scroll"
android:label="@string/title_activity_scroll" >
</activity>
<activity
android:name="com.appname.appname.AddNewJob"
android:label="@string/title_activity_add_new_job" >
</activity>
<activity
android:name="com.appname.appname.Home"
android:label="@string/title_activity_home" >
</activity>
<activity
android:name="com.appname.appname.HomeMain"
android:label="@string/title_activity_home_main" >
</activity>
<activity
android:name="com.appname.appname.Menu"
android:label="@string/title_activity_menu" >
</activity>
</application>
这里显示的代码中没有需要修复的内容。基于LogCat,您的应用程序在执行startActivity时崩溃。问题在于运行其他活动。如果您还发布Menu.java和完整的LogCat消息,那么有人可以帮助您调试代码。您尚未在清单中声明菜单活动 加上这个
<activity android:name="com.appname.appname.Menu"/>
如果不同,请更改包名。首先从清单中删除额外的活动声明 要修复此错误,请更改此行 意图x=新意图此,Menu.class 到 意向x=新意向此,com.appname.appname.Menu.class
您的HomeMain活动已经具有import android.view.Menu 您的“活动”菜单与实际的view.Menu之间发生冲突 不要调用Menu.class,而是调用com.appname.appname.Menu.class
或者重命名您的活动。您是否已将菜单活动添加到清单中?是否已发布活动\u home\u main.xml?LogCat中声明的按钮。菜单活动在我的清单中。按钮在XML中声明。是否将名称声明为.Menu?如果是,则替换为完整的包路径。无法识别清单中的活动。清单中菜单活动的包名称似乎错误。它指的是菜单View@user3577160没问题!只是想让你知道,既然你是新来的,你可以将答案标记为已接受,而不是在评论中提及它。
<activity
android:name="com.appname.appname.HomeMain"
android:label="@string/title_activity_home_main" >
</activity>
Intent x = new Intent(this, com.appname.appname.Menu.class);
startActivity(x);