我想在一個提示輸入pin碼的方法中包含一個AlertDialog構建器,並且當按下肯定按鈕時,按照數據庫值檢查它,並向方法調用者返回true或false值。AlertDialog返回布爾值
例如:添加/編輯/刪除用戶任務需要PIN碼。我不想爲這三個(以及更多)這些操作生成不同的AlertDialog。我想將以下代碼封裝在TaskService類中,我可以從任何活動調用該類,並根據該活動中的結果做出反應。
所以TaskService.java將有:
public boolean isCorrectPin(View v){
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
final EditText editText = new EditText(context);
builder.setView(editText);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (editText.getText().toString()) == getPinCode(){
//return true
}
}
});
builder.show();
}
和OpenTaskAdapter.java將有:
public void onBindViewHolder(ViewHolder holder, int position){
holder.btnMarkAsComplete.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (service.isCorrectPin(v) {
//complete task
}
}
});
holder.btnDelete.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if (service.isCorrectPin(v) {
//delete task
}
}
});
需要注意的是這兩個按鈕的聽衆可以在完全不同的活動是很重要的。
這爲我工作, 謝謝。我用一些更具體的問題提交了編輯,因爲我花了幾分鐘的時間來確定代碼的功能。 –