在Listview视图中对控件显示对话框(如日期选择器)的最佳做法是什么?
是否可以创建嵌入对话框逻辑并将其放入Listview视图的自定义控件?
编辑:
例如: 我有一个放在Listview中的textEdit。我想在用户点击textEdit时显示日期选择器。我想知道将对话逻辑放到哪个最佳位置。
答案 0 :(得分:0)
您可以在setOnItemClickListener
的适配器逻辑中使用ListView
。
然后,您需要创建OnItemClickListener
的实例并覆盖OnClick()
方法并在那里执行您的点击逻辑。下面是一个非常简单的例子来演示这个概念。
public class MySimpleListAdapter implements ListAdapter {
// Set your constructors and so on
. . .
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.simple_row_layout, parent, false);
viewHolder = new ViewHolder();
viewHolder.textView = (TextView) convertView.findViewById(R.id.simple_text_view);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
if (adapterData != null) {
viewHolder.textView.setText(item.getTaskTitle()); // This is logic from my SQ Lite database
viewHolder.textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Implement your logic for launching a DialogFragment here
}
});
}
return convertView;
}
}
最后,在您显示Activity
的{{1}}中,只需将ListView
设置为您的MySimpleListAdapter
即可。
我上面的代码使用ListView
小部件而不是TextView
,但它应该很简单,可以用EditText
小部件替换它。