ให้นำ Android AlertDialog ไปประกาศในที่ส่วน Class ใหญ่ครับ เช่น
Code (Android-Java)
public class TabMainActivity extends Activity {
/** Called when the activity is first created. */
AlertDialog.Builder builder;
แต่เวลาใช้ builder ในเมธอต อื่น ในบรรทัด
Code (Android-Java)
builder= new AlertDialog.Builder(this);
ในวงเล็บที่มีคำว่า this อยู่ ให้เปลี่ยนครับ
เป็น ชื่อClass.this กรณีนี้ คือ ใช้ AlertDialog.Builder ใน Class เดียวกัน แต่ซ้อนเมธอต เหมือนรุป2ที่คุณโพสมาครับ
แต่แบบไม่ซ้อนคือ
Code (Android-Java)
public class TabMainActivity extends Activity {
/** Called when the activity is first created. */
AlertDialog.Builder builder;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
builder = new AlertDialog.Builder(this);
builder.setTitle("Error User");
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("Do you want to delete or not.");
builder.setCancelable(false);
builder.setPositiveButton("Edit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
editUser(strUser);
builder = new AlertDialog.Builder(ShowUserActivity.this);
}
});
builder.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dlDeleteUser(strUser);
}
});
builder.show();
}
ซ้อนเมธอตที่ผมกล่าวถึงคือ ถัดจาก Class ไป เมธอต แล้วก็ เข้าไปใช้งานในอีกเมธอตอีกที