这是我的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;
}
}
}
答案 0 :(得分: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
将为{{1}}
此外,从现在开始,当评论者要求您发布代码/ logcat /其他内容时,请编辑您的OP而不是创建新帖子。使用帖子下面的“编辑”按钮