我正在开发Android应用程序,我的要求是,我需要将游标值显示在alertdialog中,让用户从列表中选择一个项目,并将选中的值返回给调用的Activity。在我的应用程序中,根据学生信息,光标保存他正在学习的课程的值。因此,用户应该能够选择其中一个课程,然后该值应该返回到名为alertdialog的Activity。能不能让我知道如何继续这个。我已经看过多个例子,似乎没有一个完全正常。 这是我的示例代码
final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
final Cursor courses=dbConnector.getCourses(student);
builder.setTitle("Enter Course");
builder.setCursor(courses, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int itemSelected) {
if (courses.moveToPosition(itemSelected)) {
String text=courses.getString(0);
Toast.makeText(getApplicationContext(),
"You selected: "+text,
Toast.LENGTH_SHORT);
builder.show();
}
courses.moveToFirst();
}
},"course");
builder.create();
createRow(sview, student, pass,text);
现在我想将text变量返回给Calling Activity,但是这里它是onClick()方法的本地变量。如何在不扩展任何DialogFragment类的情况下完成这项工作。
答案 0 :(得分:0)
我建议你在重写的onClick方法中调用类的方法,然后用你喜欢的方法做什么,因为这个方法会在Activity
像这里一样
@Override
public void onClick(DialogInterface dialogInterface, int itemSelected) {
myMethod(itemSelected);
}
private void myMethod(int selectedItem){
//Do whatever with that selected item
}