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。但是,如果我尝试在用户按下按钮时设置该值,则不会更新该值。
请帮忙!
答案 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);
}