2012-08-08 4 views
0

추가 된 음식을 기준으로 표시되는 총 칼로리의 합계를 수행해야합니다. 내 디자인이 같다 : 점심 결국 저녁 식사모든 표시 값의 합계

Breakfast 

[EDITTEXT] 

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

[BUTTON2][TEXTVIEW2] 

[BUTTON3][TEXTVIEW3] 

[BUTTON4][TEXTVIEW4] 

[BUTTON5][TEXTVIEW5] 

같은 일의 반복, 내가 추가 한 음식에 따라 칼로리의 총량을 보여줄 수있는 텍스트 뷰를 가지고 싶습니다.

누구든지 그렇게하는 방법을 알고 계십니까?

여기 내 코드입니다 :

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 

나를 참아주세요, 코드가 약간 더 길다.

+0

누구든지 도움을받을 수 있습니까? – user1584033

답변

0

누적 합계를 사용하십시오. 당신은 칼로리 표시

0

에서 제거 음식 항목 을 제거 할 때마다

는 하나의 int 변수 "칼로리"당신은 음식 항목을 추가 할 때마다

이 칼로리 표시

에 추가 되세요 자, 이미 칼로리 값을 보유하고있는 문자열을 가지고 있습니다. 이것을 Integer.parseInt(calorie)으로 int로 변환 할 수 있습니다. 따라서 누계를 다음과 같이 유지하십시오.

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