我想在一个提示输入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
}
}
});
需要注意的是这两个按钮的听众可以在完全不同的活动是很重要的。
这为我工作, 谢谢。我用一些更具体的问题提交了编辑,因为我花了几分钟的时间来确定代码的功能。 –