 |
|
กรองข้อมูลจาก listview เสร็จแล้ว เมื่อคลิกที่รายการนั้น ก็ให้แสดงข้อมูลของรายการที่คลิกบน AlertDialog แต่ค่าที่แสดงออกมามันไม่ใช่ค่าล่าสุดที่กรองได้ มันขึ้นโชว์แค่รายการตอนแรกก่อนกรองเท่านั้น แต่พอกรองเสร็จ ค่ามันก็ยังเป็นอย่างเดิม
เช่น ตอนแรกยังไม่ได้กรอง มีรายการดังนี้
xxx1
xxx2
xxx3
พอกรองไป xxx4 เมื่อเจอ xxx4 คลิกขึ้นมามันก็ปรากฎบน AlertDialog ว่า xxx1 ทั้งๆที่มันต้องเป็น xxx4
ช่วยทีนะครับ
EditText inputSearch = (EditText) findViewById(R.id.inputSearch);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
ShowFoodActivity.this.sAdap.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
ListView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int position, long mylng) {
sFoodName = FoodList.get(position).get("food_calorie_name").toString();
Toast.makeText(getApplicationContext(), ""+sFoodName, Toast.LENGTH_LONG).show();
}
});
}
});
// ListView OnClick
ListView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int position, long mylng) {
sFoodName = FoodList.get(position).get("food_calorie_name").toString();
sFoodKcal = FoodList.get(position).get("food_calorie_kcal").toString();
AlertDialog.Builder alert = new AlertDialog.Builder(ShowFoodActivity.this);
final NumberPicker np = new NumberPicker(ShowFoodActivity.this);
np.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
np.setMinValue(1);
np.setMaxValue(10);
np.setWrapSelectorWheel(false);
alert.setIcon(android.R.drawable.btn_star_big_on);
alert.setTitle("เพิ่มรายการ");
alert.setView(np);
alert.setMessage(sFoodName + " " + "\n"
+ "ปริมาณแคลอรี่ : " + sFoodKcal + " Kcal" + "\n"
+ "ระบุจำนวน : ");
alert.setNegativeButton("บันทึก", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
final int Kcal = Integer.parseInt(sFoodKcal);
sTotal = Kcal * np.getValue();
sNum = np.getValue();
SaveData();
}
});
alert.setPositiveButton("ยกเลิก", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alert.show();
}
});
Tag : Mobile, Android, JAVA
|
|
 |
 |
 |
 |
Date :
2015-02-27 20:46:19 |
By :
l3ios |
View :
1124 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |