-3

这是我的 World_Heritage 活动代码,请帮帮我。它有三个按钮(下一个、上一个、第一个)和一个图像视图。如果我单击下一个按钮,图像应该会改变

公共类 World_Heritage 扩展 Activity 实现 View.OnClickListener {

ImageView draw = (ImageView)findViewById(R.id.imageView1);
int a=0;
Button butnnext;

/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.worldheritage);
    Button butnpre = (Button)findViewById(R.id.buttonprevious);
    butnpre.setOnClickListener(this);

    Button butnfir = (Button)findViewById(R.id.buttonfirst);
    butnfir.setOnClickListener(this);

    butnnext = (Button)findViewById(R.id.buttonnext);
    butnnext.setOnClickListener(this);


    // TODO Auto-generated method stub
}

public void onClick(View v)
{
    switch(v.getId())
    {
    case R.id.buttonfirst:
        draw.setImageResource(R.drawable.agra_fort);
        a=0;
        break;

    case R.id.buttonnext:
        if(a==0)
        {
        draw.setImageResource(R.drawable.ajantha_caves);
        a=1;
        }
        else if(a==1)
        {
            draw.setImageResource(R.drawable.bhimbetka);
            a=2;
        }
        else if(a==2)
        {
            draw.setImageResource(R.drawable.champaner);
            a=3;
        }
        else if(a==3)
        {
            draw.setImageResource(R.drawable.chttrabadhi);
            a=4;
        }
        else if(a==4)
        {
            draw.setImageResource(R.drawable.church);
            a=5;
        }
        else if(a==5)
        {
            draw.setImageResource(R.drawable.elephanta);
            a=6;
        }
        else if(a==6)
        {
            draw.setImageResource(R.drawable.ellora_caves);
            draw.setClickable(false);
        }
        break;
    case R.id.buttonprevious:
        a--;
        butnnext.performClick();
        break;
    }

}

}
4

1 回答 1

1

改变

ImageView draw = (ImageView)findViewById(R.id.imageView1);

ImageView draw;

和下

setContentView(R.layout.worldheritage);

draw = (ImageView)findViewById(R.id.imageView1);

这样做的原因是因为您的Views诸如Buttons,ImagViews等... 包含在您的Layout. 你layout不存在,直到你使用它膨胀它,setCOntentView()或者inflater因此你的Views意志是null

另外,从现在开始,当评论者要求您发布代码/logcat/其他任何内容时,请编辑您的 OP 而不是创建新帖子。使用帖子下方的“编辑”按钮

于 2013-03-15T20:04:23.843 回答