Android 从AlertDialog检索项目到ListView中的活动
我正在开发一个android应用程序,我的要求是,我需要将光标值显示在alertdialog中,让用户从列表中选择一个项目,所选值应返回给调用活动。在我的应用程序中,根据学生信息,光标保存他正在学习的课程的值。因此,用户应该能够选择其中一个课程,然后该值应该返回到名为alertdialog的活动。你能告诉我如何继续这项工作吗?我看过多个例子,但似乎没有一个是完全有效的。 这是我的示例代码Android 从AlertDialog检索项目到ListView中的活动,android,listview,android-alertdialog,Android,Listview,Android Alertdialog,我正在开发一个android应用程序,我的要求是,我需要将光标值显示在alertdialog中,让用户从列表中选择一个项目,所选值应返回给调用活动。在我的应用程序中,根据学生信息,光标保存他正在学习的课程的值。因此,用户应该能够选择其中一个课程,然后该值应该返回到名为alertdialog的活动。你能告诉我如何继续这项工作吗?我看过多个例子,但似乎没有一个是完全有效的。 这是我的示例代码 final AlertDialog.Builder builder = new AlertDialog
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);
现在,我想将文本变量返回给调用活动,但这里它是onClick()方法的本地变量。我们如何做到这一点而不必扩展任何DialogFragment类。我建议您在重写的onClick方法中调用该类的一个方法,并对其执行任何您喜欢的操作,因为该方法将位于类似此处的
活动中
@Override
public void onClick(DialogInterface dialogInterface, int itemSelected) {
myMethod(itemSelected);
}
private void myMethod(int selectedItem){
//Do whatever with that selected item
}
注意:这是一个大java文件的部分代码,因此,我只给出了与AlertDialog对应的代码。创建自定义listview将光标添加到该文件中,然后builder.setView(listview)
将起作用。然后将listener附加到listview以完成您的流程您能给我指一个这样的示例吗..嗯,我试过了,但我不确定如何在函数外使用文本变量。我想使用这个函数,它使用文本变量作为参数之一,同时使用其他参数,这些参数仅在活动中已知,不会传递给AlertDialog。在这种情况下,我们如何处理??createRow(sview、student、pass、text);将有一个List
或ArrayList
变量,当前保存您需要的数据。在类级别创建该变量或使其成为全局变量,并在对话框中显示该列表。然后在选择一个项目后,调用myMethod
,位置为selectedItem
。您可以使用该索引检索列表的特定项,如myList.get(selectedItem)