【发布时间】:2021-05-04 07:33:41
【问题描述】:
我在编译小吃店时遇到了非法状态异常。 App 的结果是我可以执行第一个按钮,但是一旦我尝试使用我的第二个按钮,应用程序就会崩溃。 代码和错误信息如下所示:
public void callIntent(View view) {
Intent intent = null;
switch (view.getId()) {
case R.id.ZhaoDisplay:
Toast toast = Toast.makeText(getApplicationContext(),
"Zhao Wang, 991556434; Website Name: Amazon", Toast.LENGTH_SHORT);
toast.show();
intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.amazon.ca"));
startActivity(intent);
break;
case R.id.WangDisplay:
intent = new Intent(this, WangActivity.class);
//TextMulti
editInput = (EditText)findViewById(R.id.TextMulti);
String userInput = editInput.getText().toString();
intent.putExtra("valueFromUser", userInput);
Snackbar snackbar = null;
snackbar = Snackbar.make(findViewById(R.id.content),
"My Second Screen_Zhao Wang 991556434", 10);
snackbar.show();
startActivity(intent);
break;
default:
break;
}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: zhao.wang.s991556434, PID: 15778
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:414)
at android.view.View.performClick(View.java:7125)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409)
at android.view.View.performClick(View.java:7125)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.lang.IllegalArgumentException: No suitable parent found from the given view. Please provide a valid view.
at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:158)
at zhao.wang.s991556434.ZhaoActivity.callIntent(ZhaoActivity.java:60)
at java.lang.reflect.Method.invoke(Native Method)
我试图将小吃条代码部分放入我的第二个活动并编译它,但它显示了相同的错误。我可以就此寻求帮助吗?谢谢。
【问题讨论】:
-
您能否在此处为我们复制完整的例外情况?还有什么是 R.id.content?
标签: android android-intent illegalstateexception snackbar