0

追加された食品に基づいて表示されるカロリーの合計を実行する必要があります。私のデザインは次のようなものです:

Breakfast

[EDITTEXT]

[BUTTON][TEXTVIEW] <--display food name and calories

[BUTTON2][TEXTVIEW2]

[BUTTON3][TEXTVIEW3]

[BUTTON4][TEXTVIEW4]

[BUTTON5][TEXTVIEW5]

ランチとディナーで同じことを繰り返す

最後に、追加された食品に基づいて総カロリー量を表示する TEXTVIEW が必要です。

誰でもその方法を知っていますか?

これが私のコードです:

public class MyFoodCalIntakeActivity extends Activity {

private Button breakfastSearchButton;
private Button breakfastSearchButton2;
private Button breakfastSearchButton3;
private Button breakfastSearchButton4;
private Button breakfastSearchButton5;

private Button lunchSearchButton;
private Button lunchSearchButton2;
private Button lunchSearchButton3;
private Button lunchSearchButton4;
private Button lunchSearchButton5;

private Button dinnerSearchButton;
private Button dinnerSearchButton2;
private Button dinnerSearchButton3;
private Button dinnerSearchButton4;
private Button dinnerSearchButton5;

private EditText breakfastEditText;
private EditText lunchEditText;
private EditText dinnerEditText;

private TextView breakfastTextView1;
private TextView breakfastTextView2;
private TextView breakfastTextView3;
private TextView breakfastTextView4;
private TextView breakfastTextView5;

private TextView lunchTextView1;
private TextView lunchTextView2;
private TextView lunchTextView3;
private TextView lunchTextView4;
private TextView lunchTextView5;

private TextView dinnerTextView1;
private TextView dinnerTextView2;
private TextView dinnerTextView3;
private TextView dinnerTextView4;
private TextView dinnerTextView5;

private DatabaseHelper dbHelper = new DatabaseHelper(MyFoodCalIntakeActivity.this,"food",2);

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.food_calorie_intake);

    。。。

class breakfastSearchButtonListener implements OnClickListener, android.view.View.OnClickListener
{
public void onClick(View v) 
{
    if (v.getId() == R.id.breakfastSearchButton) {

    String display = "";
    SQLiteDatabase db = dbHelper.getWritableDatabase();
    /** the result will be loaded in cursor **/
    Cursor cursor = db.query("food_table", new String[]{"ID","name","calorie"}, null, null, null, null, null);

    while(cursor.moveToNext())
    {

        String name = cursor.getString(cursor.getColumnIndex("name"));
        String calorie = cursor.getString(cursor.getColumnIndex("calorie"));


        if (name.compareTo(breakfastEditText.getText().toString())==0){
            display = display +"Name: "+name+", Calorie: "+calorie;
            breakfastTextView1.setText(display);
        }
    }
}
}

public void onClick(DialogInterface dialog, int which) 
{
    // TODO Auto-generated method stub  
}

} // end activity

コードが少し長くなりますのでご了承ください。

4

2 に答える 2

0

さて、あなたはすでにカロリー値を保持する文字列を持っています。を実行すると、これをintに変換できますInteger.parseInt(calorie)。したがって、次のように現在の合計を維持します。

int calorieTotal = 0;
while(cursor.moveToNext())
{

    String name = cursor.getString(cursor.getColumnIndex("name"));
    String calorie = cursor.getString(cursor.getColumnIndex("calorie"));
    calorieTotal += Integer.parseInt(calorie);

    if (name.compareTo(breakfastEditText.getText().toString())==0){
        display = display +"Name: "+name+", Calorie: "+calorie;
        breakfastTextView1.setText(display);
    }
}
<textView>.setText(String.valueOf(calorieTotal));
于 2012-08-08T16:46:41.603 に答える
0

現在の合計を使用します。

単一の変数 int "calories" を持つ

食品を追加するたびに、それらをカロリーに追加して表示します

食品を削除するたびに、それらをカロリーから削除して表示します

于 2012-08-08T16:14:17.860 に答える