按钮不是设定值

时间:2013-12-22 22:02:52

标签: java android user-interface

我是Android的新手,我不知道我做错了什么。目前的代码如下:

public class TypeActivity extends Activity {
    private boolean alcoholin = false;
...
protected void onCreate(Bundle savedInstanceState){

        super.onCreate(savedInstanceState);
        setContentView(R.layout.search_type);

        alcohol = (Button) findViewById(R.id.alcohol_button);
...
alcohol.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                alcoholin=true;
                Intent i = new Intent (TypeActivity.this,ingredients.class);
                startActivity(i);


            }
        });
...
public boolean getalcholin(){
        return alcoholin;
    }

然后,该代码应该在另一个类中设置一个值。我已经测试了代码,我知道如果我在代码的开头声明布尔值为true,那么我将使其他代码的布尔值等于true。但是,如果我尝试在用户按下按钮时设置该值,则不会更新该值。

请帮忙!

2 个答案:

答案 0 :(得分:0)

这是行不通的,因为酒精会存在,因为这是一个完全不同的活动。为什么不使用意图的额外功能在两个活动之间传递数据。

标准

类名应始终将每个单词大写为java中的MyClassObject。

答案 1 :(得分:0)

在Android上,将数据从一个Activity发送到另一个Activity的标准方法是在用于启动新活动的Intent上指定“extras”。

您已经在onClick方法中使用Intent来启动“成分”活动(如果您将活动命名为IngredientsActivity,您的代码将更具可读性) - 您只需要添加一些“额外内容”。

请阅读培训教程here,但不知道您的最终目标是什么,您可能需要以下内容:

alcohol.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) { 
        Intent i = new Intent (TypeActivity.this,IngredientsActivity.class);
        i.putExtra(IngredientsActivity.EXTRA_INGREDIENT_TYPE, "alcohol");
        startActivity(i);
    }
});

...然后在IngredientsActivity中你会得到类似的东西:

public static final String EXTRA_INGREDIENT_TYPE = "ingredient";

protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ingredients);

        String ingredientType = getIntent().getStringExtra(IngredientsActivity.EXTRA_INGREDIENT_TYPE);
 }