将ListDialog中的项目从ListView

时间:2016-03-20 23:51:43

标签: android listview alertdialog

我正在开发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类的情况下完成这项工作。

1 个答案:

答案 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
}