如何将变量从onClick传递到另一个类

时间:2016-02-21 17:25:20

标签: 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 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并执行一些代码。

3 个答案:

答案 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初学者,希望它会帮助你。