Reputation: 1371
I made the fatal mistake of upgrading to AS 3.1 from 3.0.1 I have written a simple app that on MainActivity a button has a onClick = onNEXT when clicked uses an Intent to navigate to ListActivity the XML is bare bones I am using API 26 min and max this line of code in Build Gradle project looks wrong ? classpath 'com.android.tools.build:gradle:3.1.0'
here is the error 03-31 04:26:14.306 7133-7133/com.androidstackoverflow.atestcon E/AndroidRuntime: FATAL EXCEPTION: main Process: com.androidstackoverflow.atestcon, PID: 7133 java.lang.IllegalStateException: Could not execute method for android:onClick at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.androidstackoverflow.atestcon/android.app.ListActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1932) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1615) at android.app.Activity.startActivityForResult(Activity.java:4472) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67) at android.app.Activity.startActivityForResult(Activity.java:4430) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720) at android.app.Activity.startActivity(Activity.java:4791) at android.app.Activity.startActivity(Activity.java:4759) at com.androidstackoverflow.atestcon.MainActivity.onNEXT(MainActivity.java:21) at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
My Manifest is clean
<?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>
here is the MainActivity code
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);
}
}
I have never been more disappointed every time I update AS it is one mess after another I have uninstalled and reinstalled 3 times and would appreciate any help with this The Emulator when it is configured does not let you set fields the way it did in AS 3.0.1 OLDER projects are not working they have this error in the Styles folder
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
The word Theme is in RED
Upvotes: 0
Views: 1280
Reputation: 117
Check the imports at beginning of MainActivity..By mistake you have imported android.app.ListActivity. import yourpackagename.ListActivity
Intent intent = new Intent(MainActivity.this, ListActivity.class); startActivity(intent);
Upvotes: 1
Reputation: 998
Your activity's name is ListActivity but there is also an android.app.ListActivity. Android thought you mean the later one.
So you can just change new Intent(MainActivity.this, ListActivity.class);
to new Intent(MainActivity.this, com.androidstackoverflow.atestcon.ListActivity.class);
Or change a name for your ListActivity.
Upvotes: 0