2014-01-19 54 views
0

我想在应用程序设置的第二个活动上有一个菜单,所以我使用了ListView。现在我想根据点击的项目将一些信息放到表格上,即如果电话项目被点击了,我想打开一些对话框输入电话号码,但是如果电子邮件项目被点击了,我想打开一个对话框但具有不同的数据,所以我必须知道哪个项目被点击。下面是它现在的样子:Android AlertDialog我怎样才能识别出对话框的对象

mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
           long id) { 
      String item = ((TextView)view).getText().toString(); 
      showInputDialog(); 
     } 
    }); 

public void showInputDialog() { 
    AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    alert.setTitle("Phone number"); 
    alert.getContext(). 
    // Set an EditText view to get user input 
    final EditText input = new EditText(this); 
    input.setInputType(InputType.TYPE_CLASS_NUMBER); 
    alert.setView(input); 


    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      dataEntry = input.getText().toString(); 
      settingsList.put("phone",dataEntry); 
      fileManage.writeFile(file, settingsList); 
      fileManage.readFile(file); 
     } 
    }); 

    alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      // Canceled. 
     } 
    }); 

    alert.show(); 
} 
+0

OMG它是如此明显,有一个(长ID)在setOnItemClickListener所以现在是这样的: mainListView.setOnItemClickListener(新AdapterView.OnItemClickListener(){ @覆盖 公共无效onItemClick(适配器视图父母,查看视图,int位置, long id){ String item =((TextView)view).getText()。toString(); showInputDialog(id); } }); public void showInputDialog(long id){} – user3212019

回答

0

为什么不将单击的项目传递给showInputDialog()方法。

public void showInputDialog(String item){} 

而在onItemClick方法:

@Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
          long id) { 
     String item = ((TextView)view).getText().toString(); 
     showInputDialog(item); 
    } 

,所以你可以通过点击该项目是你的对话框午饭识别。

+0

是我想出来....呃这是一个愚蠢的问题,但谢谢你的回答 – user3212019

相关问题