Android ListItem的项目弹出警告对话框

时间:2011-09-17 18:41:26

标签: android alertdialog listadapter listitem

我对我在这里看到的一个常见问题有所改变,我很困惑。

我需要的只是列表项的每个子项的对话框。我看到了一个列表项的对话框,但我需要它到列表项的项目。目前我在getView()方法内部尝试在适配器中执行此操作。

例如:

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;

    if (v == null)
    {
        LayoutInflater li = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = li.inflate(_resourceId, null);
    }

    string description = "howdy Test";

    TextView description = (TextView) v.findViewById(R.id.description);
    description.setText(description );
    description.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View view)
        {
            AlertDialog.Builder dia = new AlertDialog.Builder(view.getContext());
            dia.setTitle(view.getContext().getResources().getString(R.string.DESCRIPTION_TITLE));
            dia.create();
        }
    });
}

通过上面的例子,它确实进入了onClick()方法,但是AlertDialog没有任何反应。有没有人试过这个?有没有更好的办法?我做错了什么更好?

谢谢, 凯利

2 个答案:

答案 0 :(得分:2)

您必须在 dia 对象上调用show()方法。Link here to the android docs!

答案 1 :(得分:0)

为什么不在列表视图中添加一个OnClickListener,而不是为列表视图中的每个项添加一个OnClickListener?

myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    public void onItemClick(AdapterView parent, View v, int position, long id){

        // Create and show dialog here

    }
});