2013-03-15 59 views
0

当我尝试使用来改变图像的来源:更改图片来源编程

img.setBackgroundResource(R.drawable.anfex2011); 

img.setImageResource(R.drawable.anfex2011); 

我得到的错误:

03-15 13:56:56.215: E/AndroidRuntime(30733): FATAL EXCEPTION: main 
03-15 13:56:56.215: E/AndroidRuntime(30733): java.lang.IllegalStateException: Could not execute method of the    activity 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.view.View$1.onClick(View.java:3691) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.view.View.performClick(View.java:4211) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.widget.CompoundButton.performClick(CompoundButton.java:105) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.view.View$PerformClick.run(View.java:17267) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.os.Handler.handleCallback(Handler.java:615) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.os.Handler.dispatchMessage(Handler.java:92) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.os.Looper.loop(Looper.java:137) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.app.ActivityThread.main(ActivityThread.java:4898) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at java.lang.reflect.Method.invokeNative(Native Method) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at java.lang.reflect.Method.invoke(Method.java:511) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at dalvik.system.NativeStart.main(Native Method) 
03-15 13:56:56.215: E/AndroidRuntime(30733): Caused by: java.lang.reflect.InvocationTargetException 
03-15 13:56:56.215: E/AndroidRuntime(30733): at java.lang.reflect.Method.invokeNative(Native Method) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at java.lang.reflect.Method.invoke(Method.java:511) 
03-15 13:56:56.215: E/AndroidRuntime(30733): at android.view.View$1.onClick(View.java:3686) 
03-15 13:56:56.215: E/AndroidRuntime(30733): ... 12 more 
03-15 13:56:56.215: E/AndroidRuntime(30733): Caused by: java.lang.NullPointerException 
03-15 13:56:56.215: E/AndroidRuntime(30733): at com.TLC.aelminingsolutions.MainActivity.onClickLists(MainActivity.java:675) 
03-15 13:56:56.215: E/AndroidRuntime(30733): ... 15 more 

究竟是什么时我做错了?

编辑: 下面是一些代码:

 @SuppressWarnings("deprecation") 
     public void onClickLists(View v) 
    {  
     switch (v.getId()) 
     { 
    case R.id.radCoalMiningShallow : 
    { 
     ImageView img = (ImageView) findViewById(R.id.img); 
     img.setBackgroundDrawable(R.drawable.anfex2011); 
     //img.setImageDrawable(R.drawable.anfex2011); 
     break; 
    } 

在此先感谢。 帕特里克

+0

img初始化? – KunalK 2013-03-15 12:07:13

+0

你是如何初始化img的? – Nirali 2013-03-15 12:07:50

+0

*无法执行活动的方法*意味着你试图以错误的方式改变图像PLZ分享更多的代码并解释你在做什么 – 2013-03-15 12:08:10

回答

0

试试这个,形象OnTouchListener()

img.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View arg0, MotionEvent arg1) { 


      switch (arg1.getAction()) { 
       case MotionEvent.ACTION_DOWN: { 
        imgTicket.setImageResource(R.drawable.hticket); 
        break; 
       } 
       case MotionEvent.ACTION_UP: { 
        imgTicket.setImageResource(R.drawable.ticket); 
        break; 
       } 
       case MotionEvent.ACTION_CANCEL:{ 
        imgTicket.setImageResource(R.drawable.ticket); 
        break; 
       } 
       } 
       return true; 
      // TODO Auto-generated method stub 

     } 
    }); 
+0

检查编辑,让我知道你还需要从我...谢谢:) – 2013-03-15 12:38:09

0

你有你的初始化ImageView的?

ImageView img = (ImageView) findViewById(R.id.ImageView1); 
img.setImageResource(R.drawable.anfex2011); 

这是你的imagename - anfex2011?