我试图将一个名为choice的变量传递给另一个类,但我不知道我应该怎样继续这样做,因为它位于onClick中。这是我想要做的一个例子。
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并执行一些代码。
答案 0 :(得分: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()
中答案 1 :(得分:0)
//in main activity
Intent i=new Intent(getApplicationContext(),Celeb1.class);
i.putExtra("name","stack");//name is key stack is value
startActivity(i);
//In Celeb1 class
Intent i=getIntent();
String name=i.getStringExtra("name");
答案 2 :(得分:0)
不要让Intent的实例改为构造Intent的对象并将额外的值传递给您的类
choice = 2;
Intent intent = new Intent(MainActivity.this, Celeb1.class);
intent.putExtra("choice",choice);
startActivity(intent);
那是它 我是android初学者,希望它会帮助你。