首页 文章

由于图片,Android应用程序崩溃

提问于
浏览
-3

我对android很新 . 我正在编写一个程序来更改按钮单击时的图像 . 没有图像,我的应用程序完美 . 但是对于图像,应用程序崩溃了 .

尺寸为img - 4kb,尺寸为80 X 80 .

我的代码 -

protected void clickMe(View view){
    EditText phone = (EditText) findViewById(R.id.phone);
    EditText name = (EditText) findViewById(R.id.name);

    ImageView img = (ImageView) findViewById(R.id.img1);
    img.setImageResource(R.drawable.x);

    Toast.makeText(getApplicationContext(), "yo dudE "+name.getText().toString(), Toast.LENGTH_LONG).show();

    Log.i("Phone : ", phone.getText().toString());

}

堆栈跟踪 :

07-04 11:06:04.964 10037-10037 / com.satyakisanyal.myfirstandroidproject E / AndroidRuntime:FATAL EXCEPTION:main进程:com.satyakisanyal.myfirstandroidproject,PID:10037 java.lang.IllegalStateException:无法执行android的方法: onClick在Android.view.View $ PerformClick.run上的android.sview.View.performClick(View.java:5198)上的android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) . java:21147)在android.os.Handler.handleCallback(Handler.java:739)的android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)at at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)由android.supp的java.lang.reflect.Method.invoke(Native Method)引起的:java.lang.reflect.InvocationTargetException ort.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)在android.view.View.performClick(View.java:5198)android.view.View $ PerformClick.run(View.java:21147)在android.os.Handler.handleCallback(Handler.java:739)的android.app.Handler.dispatchMessage(Handler.java:95)在android.app的android.os.Looper.loop(Looper.java:148) . ActivityThread.main(ActivityThread.java:5417)位于com.android的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)的java.lang.reflect.Method.invoke(Native Method)中 . internal.os.ZygoteInit.main(ZygoteInit.java:616)引起:java.lang.ClassCastException:android.widget.RelativeLayout无法在com.satyakisanyal.myfirstandroidproject.MainActivity.clickMe(MainActivity . )中强制转换为android.widget.ImageView . java:22)在android.view.View.perf上的android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)的java.lang.reflect.Method.invoke(Native Method) ormClick(View.java:5198)at android.view.View $ PerformClick.run(View.java:21147)at android.os.Handler.handleCallback(Handler.java:739)android.os.Handler.dispatchMessage(Handler) .java:95)在android.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

3 回答

  • 0
    ImageView img = (ImageView) findViewById(R.id.img1);
    

    似乎id img1RelativeLayout ,而不是 ImageView

  • 1

    我希望你在android中投射 RelativeLayoutImageView . 检查xml文件中的 R.id.img1 是什么?

  • 3

    检查logcat,它显示此错误 . java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.ImageView 在使用之前检查ImageView的ID .

相关问题