【问题标题】:How to set image for ImageView?如何为 ImageView 设置图像?
【发布时间】:2015-04-27 21:15:45
【问题描述】:

我正在尝试制作ImageView 在触摸动作上滑动图像,但是当我移动到下一张图像时,我收到一条错误消息:

java.lang.NullPointerException: 尝试调用虚方法 'void android.widget.ImageView.setBackground(android.graphics.drawable.Drawable)' 在空对象引用上 在 com.semicolon.www.slider.MainActivity.onTouchEvent(MainActivity.java:48)

代码如下:

public class MainActivity extends ActionBarActivity {

    ImageSwitcher Switch;
    ImageView image;
    float intialX;
    private Cursor cursor;
    private int columnIndex, position = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Switch = (ImageSwitcher) findViewById(R.id.imageSwitcher);
        image = (ImageView) findViewById(R.id.image);
    }

    public boolean onTouchEvent(MotionEvent event){

        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                intialX = event.getX();
            break;
            case MotionEvent.ACTION_UP:
                float finalX = event.getX();
                if (intialX > finalX) {
                    Drawable r = getResources().getDrawable(R.drawable.img2);
                    image.setBackground(r);
                }
            break;
        }

        return false;
    }
}

那么我该如何解决这个错误并为ImageView 放置图像(或背景)?

【问题讨论】:

  • 您确定 id 正确吗?设置image = (ImageView) findViewById(R.id.image);后尝试添加日志,如if(image == null) Log.d("MainActivity", "image is null!");
  • @FlorianSchrofner 你是对的,ImageView 的 id 是错误的。

标签: android android-imageview android-drawable


【解决方案1】:

【讨论】:

    【解决方案2】:

    尝试使用setImageResource 方法代替setBackground

    image.setImageResource (R.drawable.img2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 2011-11-20
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      相关资源
      最近更新 更多