Java 如何将变量从onClick传递到另一个类
我试图将一个名为choice的变量传递给另一个类,但我不知道该怎么做,因为它在onClick中。下面是我正在尝试做的一个例子Java 如何将变量从onClick传递到另一个类,java,android,class,onclick,Java,Android,Class,Onclick,我试图将一个名为choice的变量传递给另一个类,但我不知道该怎么做,因为它在onClick中。下面是我正在尝试做的一个例子 public int choice; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //intent for fir
public int choice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//intent for first button
Button button1= (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
choice = 1;
startActivity(new Intent(MainActivity.this,Celeb1.class));
}
});
//intent for second button
Button button2= (Button) findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
choice = 2;
startActivity(new Intent(MainActivity.this,Celeb1.class));
}
});
}
在另一个类中,我想检查choice是否等于1或0,并执行一些代码。您可以通过这种方式传递变量
Intent intent = new Intent(MainActivity.this,Celeb1.class)
intent.putExtra("choice", 1);
startActivity(intent);
在Celeb1类中,您可以使用
Bundle extras = getIntent().getExtras();
int choice= extras.getInt("choice");
在onCreate()内部,不要生成Intent的实例,而是生成Intent的对象,并将额外的值传递给类 选择=2
Intent intent = new Intent(MainActivity.this, Celeb1.class);
intent.putExtra("choice",choice);
startActivity(intent);
就这样
我是android初学者,希望能对您有所帮助。作为方法调用中的参数,由setter完成,…谢谢,工作得很好。除了代码之外,是否还要提供一些解释?
Intent intent = new Intent(MainActivity.this, Celeb1.class);
intent.putExtra("choice",choice);
startActivity(intent);