我犯了从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">
主题一词是红色
答案 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的名称。