我有一些包含一些项目的ListView。我想设置ListView,其中一些项目是删除线。我知道如何使用onclicklistener来创建它,但是我想加载已经标记了删除项的ListView。
所以我启动了我的程序,效果应该是这样的:
first / strikethrough /
第二
第三
第四/删除/
答案 0 :(得分:1)
要自定义列表视图,您可能需要创建一个自定义ListView ArrayAdapter,它将加载您的文本视图并将其设置为删除线:
private class ResultsAdapter extends ArrayAdapter<Route> {
private ArrayList<Route> items;
public ResultsAdapter(Context context, int textViewResourceId, ArrayList<Route> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.route_row, null);
}
Route res = items.get(position);
if (res != null) {
TextView line1 = (TextView) v.findViewById(R.id.route_line1);
//setup your strikethrough as needed.
}
}
return v;
}
}
答案 1 :(得分:0)
如果要从SimpleAdapter加载数据,请覆盖SimpleAdapter.setViewBinder方法。当您执行ListView.SetAdapter(SimpleAdapter)以使用SimpleAdapter中的数据填充Listview时,将使用此方法。重写此方法以删除所需的行,但请确保包含以下代码行:
TextView tv=(TextView) aView;
tv.setText(aCursor.getString(aColumnIndex));
这些是为了确保您的列表视图项目文本出现。