我在从我的应用程序的上一个活动中获取内容时遇到问题。我的情况是,以前的活动,称为ListOfMeals,它有一个列表视图(早餐,早餐小吃等)如果我点击早餐并添加膳食,我点击列表的食物,如面包,水果,蔬菜,之后,它应该添加到我的数据库中。但到目前为止,我有这个,请参考下文:
case R.id.btFoodVegetableSave:
String mealname = selected;
String serving = calories.getText().toString();
int i = Integer.parseInt(serving.replaceAll("[\\D]", ""));
String servng = String.valueOf(i);
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
String strDate = sdf.format(new Date());
if ( ( mealname.isEmpty() || servng.isEmpty() ) ){
// call for custom toast
viewErrorToast();
}
else {
boolean didItWork = true;
try{
BreakFastLog entry = new BreakFastLog(Baguettes_Bagels.this);
entry.open();
entry.createEntry(mealname, servng, strDate);
entry.close();
}
catch(Exception e){
didItWork = false;
viewErrorToast();
}finally{
if (didItWork){
viewBMRSavedToast();
}
}
} // end of if else statement
break;
在我的例子中,它只保存到我的早餐。但是当我选择早餐而不是早餐时,问题就会出现。如何获取用户从之前的活动中选择的内容并将其保存到各自的餐厅?
我知道这与此有关:
BreakFastLog entry = new BreakFastLog(Baguettes_Bagels.this);
entry.open();
entry.createEntry(mealname, servng, strDate);
entry.close();
我必须把if else语句,但我想不出一些聪明的方法来实现它。感谢您的帮助。
答案 0 :(得分:2)
当您开始活动时,您可能会遇到以下情况:
Intent intent = new Intent(...);
startActivity(intent);
您可以添加:
intent.putExtra(key, yourparameter);
当你的第二个活动开始时,你可以在onCreate中修改它,例如:
int value = getIntent().getExtras().getInt(key);