0

我有一个包含一些项目的 ListView。我想设置 ListView 一些项目是删除线。我知道如何使用 onclicklistener 来制作它,但我想加载带有已标记删除线项目的 ListView。

所以我启动了我的程序,效果应该是这样的:

第一个/删除线/

第二

第三

第四个/删除线/

4

2 回答 2

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;
    }
}
于 2011-11-12T00:01:36.270 回答
0

如果您从 SimpleAdapter 加载数据,请覆盖 SimpleAdapter.setViewBinder 方法。当您执行 ListView.SetAdapter(SimpleAdapter) 以使用来自 SimpleAdapter 的数据填充您的 Listview 时使用此方法。覆盖此方法以删除所需的行,但请确保包含以下代码行:

TextView tv=(TextView) aView;
tv.setText(aCursor.getString(aColumnIndex));

这些是为了确保您的列表视图项目文本出现。

于 2011-11-11T23:56:47.903 回答