我对我在这里看到的一个常见问题有所改变,我很困惑。
我需要的只是列表项的每个子项的对话框。我看到了一个列表项的对话框,但我需要它到列表项的项目。目前我在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没有任何反应。有没有人试过这个?有没有更好的办法?我做错了什么更好?
谢谢, 凯利
答案 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
}
});