Android Studio 3.1致命错误

时间:2018-03-31 11:46:23

标签: android android-studio android-studio-3.1

我犯了从3.0.1升级到AS 3.1的致命错误我编写了一个简单的应用程序,在MainActivity上按钮有一个onClick = onNEXT,当点击时使用Intent导航到ListActivity XML是我正在使用的骨架API 26分钟和最大值Build Gradle项目中的这行代码看起来不对? classpath'com.android.tools.build:gradle:3.1.0'

这是错误 03-31 04:26:14.306 7133-7133 / com.androidstackoverflow.atestcon E / AndroidRuntime:FATAL EXCEPTION:main     进程:com.androidstackoverflow.atestcon,PID:7133     java.lang.IllegalStateException:无法执行android:onClick的方法         在android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)         在android.view.View.performClick(View.java:6256)         在android.view.View $ PerformClick.run(View.java:24701)         在android.os.Handler.handleCallback(Handler.java:789)         在android.os.Handler.dispatchMessage(Handler.java:98)         在android.os.Looper.loop(Looper.java:164)         在android.app.ActivityThread.main(ActivityThread.java:6541)         at java.lang.reflect.Method.invoke(Native Method)         在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)      引起:java.lang.reflect.InvocationTargetException         at java.lang.reflect.Method.invoke(Native Method)         在android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)         在android.view.View.performClick(View.java:6256)         在android.view.View $ PerformClick.run(View.java:24701)         在android.os.Handler.handleCallback(Handler.java:789)         在android.os.Handler.dispatchMessage(Handler.java:98)         在android.os.Looper.loop(Looper.java:164)         在android.app.ActivityThread.main(ActivityThread.java:6541)         at java.lang.reflect.Method.invoke(Native Method)         在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)      引起:android.content.ActivityNotFoundException:无法找到显式活动类{com.androidstackoverflow.atestcon / android.app.ListActivity};你有没有在AndroidManifest.xml中声明这个活动?         在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1932)         在android.app.Instrumentation.execStartActivity(Instrumentation.java:1615)         在android.app.Activity.startActivityForResult(Activity.java:4472)         在android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)         在android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67)         在android.app.Activity.startActivityForResult(Activity.java:4430)         在android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720)         在android.app.Activity.startActivity(Activity.java:4791)         在android.app.Activity.startActivity(Activity.java:4759)         在com.androidstackoverflow.atestcon.MainActivity.onNEXT(MainActivity.java:21)         at java.lang.reflect.Method.invoke(Native Method)         在android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)         在android.view.View.performClick(View.java:6256)         在android.view.View $ PerformClick.run(View.java:24701)         在android.os.Handler.handleCallback(Handler.java:789)         在android.os.Handler.dispatchMessage(Handler.java:98)         在android.os.Looper.loop(Looper.java:164)         在android.app.ActivityThread.main(ActivityThread.java:6541)         at java.lang.reflect.Method.invoke(Native Method)         在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

我的清单很干净

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".ListActivity">

    </activity>
</application>

这是MainActivity代码

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btnNext = findViewById(R.id.btnNext);
}

public void onNEXT(View view){
    Intent intent = new Intent(MainActivity.this, ListActivity.class);
    startActivity(intent);
}

}

每次我更新时,我都没有更失望过去,我已经卸载并重新安装了3次又一个又一个混乱,并且非常感谢任何有关此模拟器的帮助,当它配置时不会让你按照它的方式设置字段在AS 3.0.1中,OLDER项目不起作用,它们在样式文件夹中出现此错误

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">

主题一词是红色

2 个答案:

答案 0 :(得分:1)

检查MainActivity开头的导入。错误的是你导入了android.app.ListActivity。 import yourpackagename.ListActivity

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

答案 1 :(得分:0)

您的活动的名称是ListActivity,但也有一个android.app.ListActivity。 Android认为你的意思是后者 因此,您只需将new Intent(MainActivity.this, ListActivity.class);更改为new Intent(MainActivity.this, com.androidstackoverflow.atestcon.ListActivity.class); 或者更改ListActivity的名称。