0

从我的应用程序的先前活动中获取某些内容时遇到问题。我的情况是,之前的活动,称为 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 语句,但我想不出一些聪明的方法来实现这一点。提前感谢您的帮助。

4

1 回答 1

2

当您开始活动时,您可能会遇到以下情况:

Intent intent = new Intent(...);
startActivity(intent);

你可以加:

intent.putExtra(key, yourparameter);

当您的第二个活动开始时,您可以在 onCreate 中检索它,例如:

int value = getIntent().getExtras().getInt(key);
于 2013-01-24T15:15:33.423 回答