java.lang.IllegalStateException:在onClick的活动类com.test.apps.test.MainActivity中找不到方法ExitApp(视图)

java.lang.IllegalStateException:在onClick的活动类com.test.apps.test.MainActivity中找不到方法ExitApp(视图),java,android,Java,Android,所以我第一次使用Android Studio。我有两个活动,当主活动加载时,它检查登录标志集,如果没有,则加载登录活动 但是,当我在登录活动中,使用按钮OnClick调用该活动中的方法时,由于某种原因,java没有在该活动中查找,而是在主活动中查找,并引发以下错误: java.lang.IllegalStateException: Could not find a method ExitApp(View) in the activity class com.test.apps.test.Main

所以我第一次使用Android Studio。我有两个活动,当主活动加载时,它检查登录标志集,如果没有,则加载登录活动

但是,当我在登录活动中,使用按钮OnClick调用该活动中的方法时,由于某种原因,java没有在该活动中查找,而是在主活动中查找,并引发以下错误:

java.lang.IllegalStateException: Could not find a method ExitApp(View) in the activity class com.test.apps.test.MainActivity for onClick
我确信我只是缺少了一些我缺少的设置,我的理解是java首先搜索当前类,而不是它的父类,为什么我的第二个活动中的按钮甚至在我的主活动中也会搜索

AndroidManifest.xml

<activity
android:name=".MainActivity"
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=".LoginActivity"
        android:label="@string/title_activity_login"
        android:windowSoftInputMode="adjustResize|stateVisible" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
        </intent-filter>
    </activity>
LoginActivity.java

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View.OnClickListener;
import android.app.Activity;

public class LoginActivity extends ActionBarActivity {
private EditText username;
private EditText password;

public void ExitApp(View view){
    finish();
}
activity_login.xml

<Button
android:layout_width="250dp"
android:layout_height="50dp"
android:text="Login"
android:id="@+id/btnLogin"
android:layout_below="@+id/txtPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:nestedScrollingEnabled="false"
android:onClick="ExitApp"
android:clickable="true"/>

任何帮助都很好…

尝试有目的地停止你的应用程序

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

您是否真的在LoginActivity的onCreate方法中设置了内容视图?我想你只是为了简洁起见在这里删掉了它,但是也许发布完整的LoginActivity和MainActivity代码将有助于了解它的底细。除非我遗漏了一些细节,否则你发布的所有内容看起来都应该足够好

否则,在活动中使用findViewById和addOnClickListener而不是在布局xml中这样做实际上没有缺点

    View loginButton = findViewById(R.id.btnLogin);
    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ExitApp();
        }
    });
您的活动MainActivity中不存在ExitApp方法:

Could not find a method ExitApp(View) in the activity class com.test.apps.test.MainActivity for onClick  
如果要从LoginActivity执行ExitApp方法,请加载正确的布局活动\u login.xml

<Button
android:layout_width="250dp"
android:layout_height="50dp"
android:text="Login"
android:id="@+id/btnLogin"
android:layout_below="@+id/txtPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:nestedScrollingEnabled="false"
android:onClick="ExitApp"
android:clickable="true"/>

因此,解决方案是在.main活动中使用以下代码来正确启动登录活动,并告诉java查看该活动:

Intent intent = new Intent(this, LoginActivity.class); 
startActivity(intent); 

问题经过编辑以反映正确的工作代码

请与我们分享1。AndroidManifest.xml 2中的相关标记。您在onCreate中设置了什么布局。。。正在使用setContentView。。。3.您用于从MainActivity->LoginActivity导航的意图解决方案是使用.MainActivity中的以下代码来正确启动登录活动,并告诉java查看该活动Intent Intent=new Intentthis,LoginActivity.class;星状体;问题被编辑以反映正确的工作代码我正在onCreate中加载布局。。。仍然没有我想要的明显原因,保持登录代码在正确的活动。。。我想知道是否有一条被搜索的路径first@Mike我刚看到你解决了这个问题。你应该要么接受一个答案,要么发布你自己的答案并接受它,这样人们就不会一直试图帮助你,尤其是现在你的帖子中有了工作代码。我花了一段时间试图发现一个问题,并思考它到底出了什么问题?!在看到您已更新帖子以包含工作代码之前。
Intent intent = new Intent(this, LoginActivity.class); 
startActivity(intent);