форматировать текстовое представление в Listview - PullRequest
0 голосов
/ 12 ноября 2011

У меня есть ListView с некоторыми элементами.Я хотел бы установить ListView, где некоторые элементы зачеркнуты.Я знаю, как сделать это с помощью onclicklistener, но я бы хотел загрузить ListView с уже отмеченными зачеркнутыми элементами.

Итак, я запускаю свою программу, и эффект должен выглядеть примерно так:

first / strikethrough /

second

third

четвертый / зачеркнутый /

Ответы [ 2 ]

1 голос
/ 12 ноября 2011

Чтобы настроить представление списка, вам, вероятно, потребуется создать специальный массив ArrayAdapter ListView, который будет загружать ваше представление текста и устанавливать его зачеркнутым:

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;
    }
}
0 голосов
/ 12 ноября 2011

Если вы загружаете данные из SimpleAdapter, переопределите метод SimpleAdapter.setViewBinder. Этот метод используется, когда вы запускаете ListView.SetAdapter (SimpleAdapter), чтобы заполнить ваш ListView данными из SimpleAdapter. Переопределите этот метод, чтобы зачеркнуть нужные строки, но обязательно включите следующие строки кода:

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

Это необходимо для отображения текста элементов списка.

...