简体   繁体   English

当我按下按钮调用 function 时,我的应用程序崩溃了

[英]My app is crashing when I call my function by pressing a button

I am trying to make a simple gallery app.我正在尝试制作一个简单的画廊应用程序。 When I try this code:当我尝试这段代码时:

public void previousTap(View view){
    ImageView img = (ImageView) view;
    if (img.getTag() == "img_one") {
        img.setImageResource(R.drawable.img_five);
        img.setTag("img_five");
    } else if (img.getTag() == "img_two") {
        img.setImageResource(R.drawable.img_one);
        img.setTag("img_one");
    } else if (img.getTag() == "img_three") {
        img.setImageResource(R.drawable.img_two);
        img.setTag("img_two");
    } else if (img.getTag() == "img_four") {
        img.setImageResource(R.drawable.img_three);
        img.setTag("img_three");
    } else if (img.getTag() == "img_five") {
        img.setImageResource(R.drawable.img_four);
        img.setTag("img_four");
    }
}

When I run my project and install the app and click on the previous button, my app crashes.当我运行我的项目并安装应用程序并单击上一个按钮时,我的应用程序崩溃了。 Why?为什么? Also, is there any way to get the tag of an imageview in activity_main.xml rather than typing "ImageView img = (ImageView) view;"(Only if it is wrong)?另外,有什么方法可以在 activity_main.xml 中获取 imageview 的标签,而不是输入“ImageView img = (ImageView) view;”(仅在错误的情况下)?

The error I get:我得到的错误:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.wali.photoframegallery, PID: 6166
    java.lang.IllegalStateException: Could not execute method for android:onClick
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:402)
        at android.view.View.performClick(View.java:6603)
        at android.view.View.performClickInternal(View.java:6576)
        at android.view.View.access$3100(View.java:780)
        at android.view.View$PerformClick.run(View.java:26090)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:235)
        at android.app.ActivityThread.main(ActivityThread.java:6760)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
        at android.view.View.performClick(View.java:6603) 
        at android.view.View.performClickInternal(View.java:6576) 
        at android.view.View.access$3100(View.java:780) 
        at android.view.View$PerformClick.run(View.java:26090) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:235) 
        at android.app.ActivityThread.main(ActivityThread.java:6760) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911) 
     Caused by: java.lang.ClassCastException: androidx.appcompat.widget.AppCompatButton cannot be cast to android.widget.ImageView
        at com.wali.photoframegallery.MainActivity.nextTap(MainActivity.java:32)
        at java.lang.reflect.Method.invoke(Native Method) 
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397) 
        at android.view.View.performClick(View.java:6603) 
        at android.view.View.performClickInternal(View.java:6576) 
        at android.view.View.access$3100(View.java:780) 
        at android.view.View$PerformClick.run(View.java:26090) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:235) 
        at android.app.ActivityThread.main(ActivityThread.java:6760) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)

EDIT: I tried changing this:编辑:我试着改变这个:

ImageView img = (ImageView) view;

To this:对此:

View img = (View) view;

It gave me no errors, but there is no more functionality.它没有给我任何错误,但没有更多功能。 What's wrong now?现在怎么了?

You can see your problem in next line: Caused by: java.lang.ClassCastException: androidx.appcompat.widget.AppCompatButton cannot be cast to android.widget.ImageView of your stack trace.您可以在下一行看到您的问题Caused by: java.lang.ClassCastException: androidx.appcompat.widget.AppCompatButton cannot be cast to android.widget.ImageView You can try to cast view in AppCompatButton, or change AppCompatButton to ImageView in your layout您可以尝试在 AppCompatButton 中投射视图,或在布局中将 AppCompatButton 更改为 ImageView

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 当我按下“ chckAns”按钮时,我的应用突然崩溃 - when I'm pressing Check which is“chckAns” button my app is suddenly kept crashing 当我点击按钮时,我的应用程序崩溃了 - my app is crashing when i click on the button 当我打开它时,我的应用程序一直崩溃 - My app keeps crashing when i open it 我想在 ACTION_CALL 的帮助下按下我的移动应用程序中的按钮来拨打紧急号码,但我没有。 为什么? - i want to make call on an emergency number by pressing the button in my mobile app with help of ACTION_CALL but i didn't. why? 按下应用程序中的按钮时,我得到的是NaN值,有人可以指出原因吗? - I'm getting a NaN value when pressing the button in my app, could someone point out why? 更改微调器选择时,为什么我的应用程序崩溃? - Why is my app crashing when I change my spinner selection? 当我在Android应用程序中单击“ Notes”按钮时,如何调用NoteMain类 - How do I call my NoteMain class when I click on the “Notes” Button in my android app 尝试添加联系人时,为什么我的应用程序崩溃 - Why is my app crashing when I try to add a contact 当我在autocompletetextview中给空格键时,我的应用程序崩溃了 - My app is crashing when i give Space bar in autocompletetextview 尝试进行其他活动时,我的应用程序崩溃了 - My app is crashing when I try to go to another activity
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM