我创建了一个简单的计数器,并希望添加一个按钮进入另一个活动,这是我得到的:
//counter starts
@Override
public void onClick(View v) {
if (v == btn1){
counter++;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.CYAN);
}
if (v == btn2){
counter--;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.GREEN);
}
if (v == btn3){
counter = 0;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.RED);
}
//There the counter ends
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondAcitivity.this, Aktivity.class);
startActivity(intent);
}});
}}
在//There the counter ends
标记之后,我将OnClickListener设置为一个按钮“NEXT”,该按钮继续进行另一个活动,并创建了一个Intent,它带来了名为“Aktivity”的活动。
然而,当我按下按钮时,没什么好玩的。 HALP
答案 0 :(得分:0)
将此代码剪切并粘贴到onCreate()方法
中next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondAcitivity.this, Aktivity.class);
startActivity(intent);
}});
您无法将onClick侦听器设置为onClick()方法
中的对象答案 1 :(得分:0)
代码:
Button b1, b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
b1 = (Button) findViewById(R.id.f);
b2 = (Button) findViewById(R.id.s);
b1.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
b1.setVisibility(View.INVISIBLE);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
b2.setVisibility(View.INVISIBLE);
}
});
}
@Brontok我测试了这段代码,它运行正常。因此,onClick on object可以在其他onClick中实现。
@MiroslavVitula我也测试了你的场景。我能够通过您使用的相同方法打开相同的活动。也许是其他一些问题。
答案 2 :(得分:0)
更改为
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.btn1: // btn1 clicked
counter++;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.CYAN);
break;
case R.id.btn2: // btn2 clicked
counter--;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.GREEN);
break;
case R.id.btn1: // btn3 clicked
counter=0;
scoreText.setText(Integer.toString(counter));
scoreText.setBackgroundColor(Color.RED);
break;
case R.id.next: // assuming button next id is next. btn next clicked
Intent intent = new Intent(SecondAcitivity.this, Aktivity.class);
startActivity(intent);
break;
}
}
然后在onCreate
next.setOnClickListener(this); // similarly fro other buttons
确保您的活动实施OnClickListener
而不是switch case
,您可以使用if else
。