应用程序意外停止,请稍后再试

时间:2013-03-15 20:02:41

标签: android

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

public class World_Heritage extends 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;
    }

}

}

1 个答案:

答案 0 :(得分:1)

更改

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

ImageView draw;

并在

setContentView(R.layout.worldheritage);

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

之所以这样,是因为ViewsButtonsImagViewsLayout包含在layout中。在您使用setCOntentView()inflater对其进行充气之前,您的Views不存在,因此null将为{{1}}

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