ANDROID从以前的活动中获取数据

时间:2013-01-24 15:01:08

标签: android

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

1 个答案:

答案 0 :(得分:2)

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

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

您可以添加:

intent.putExtra(key, yourparameter);

当你的第二个活动开始时,你可以在onCreate中修改它,例如:

int value = getIntent().getExtras().getInt(key);