I have seen that there\'s been some similar questions but the answers to those haven\'t helped me so far. The full error:
java.lang.IllegalStateExcept
You need to change android.support.v7.widget.AppCompatButton
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.AppCompatButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Random Game"
android:id="@+id/button_random"
android:layout_gravity="center_horizontal"
android:onClick="onClick" />
</LinearLayout>
I had the same issue, in my case I have 2 activities using the same layout so when I changed the OnClick event name it will crash in other activity try to check the setContentView layout in the crashing activity
Please rename onClick method to anything other than that, Android thinks you are calling the internal onClick from View.java exposed via OnClickListener interface
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Random Game"
android:id="@+id/button_random"
android:layout_gravity="center_horizontal"
android:onClick="myOnClick" />
and in your Activity
public class StartActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
}
public void myOnClick(View v) {
Log.d("DEBUG", "CLICKED " + v.getId());
}
}
You can check the View documentation here
I had the same problem and in my case, I changed Button in XML to android.support.v7.widget.AppCompatButton and it worked.
Code with Error:
<Button
.... />
Fixed Code:
<android.support.v7.widget.AppCompatButton
.... />
In my case I missed closing bracket at the end.
android:onClick="@{(v) -> CommentHandler.selectGallery(v)".
It should be like this.
android:onClick="@{(v) -> CommentHandler.selectGallery(v)}".