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);

2 番目のアクティビティが開始されると、たとえば onCreate で取得できます。

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