Android, SpannableString, ArrayAdapter и Listview

Я новичок в андроиде и у меня к вам вопрос. Я хочу добавить значок к тексту в списке. Я добавляю строки (текстовое представление) в список динамически с помощью приведенного ниже кода. Но текст не содержит значка.

.
.
.
btnicon = (Button)findViewById(R.id.button1);
txt = (TextView)findViewById(R.id.textView1);
txt.setText("   denemedene",BufferType.SPANNABLE);
list = (ListView)findViewById(R.id.listview);
dizi = new ArrayAdapter<String>(this, R.layout.text);
list.setAdapter(dizi);
btnicon.setOnClickListener(click);
.
.
.
private OnClickListener click = new OnClickListener() {

    @Override
    public void onClick(View v) {
        if (v == btnicon){
            SpannableString spans = new SpannableString(txt.getText());
            Drawable dra = getResources().getDrawable(R.drawable.p1);
            dra.setBounds(0, 0, dra.getIntrinsicWidth() , dra.getIntrinsicHeight());
            ImageSpan span = new ImageSpan(dra,ImageSpan.ALIGN_BASELINE);
            spans.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            dizi.add(spans.toString());
        }
    }
};

это что-то о методе toString. Потому что, когда я меняю

dizi.add(spans.toString());

линия с

txt.setText(spans,BufferType.SPANNABLE);

это работает, я вижу значок в тексте. Я понятия не имею, почему он не работает с методом toString().

Любые идеи?

Спасибо..


person tlgtkn    schedule 07.03.2013    source источник


Ответы (1)


В этом сообщении есть пример пользовательского адаптера списка: https://stackoverflow.com/a/15272092/1752867

Вы можете создать свой собственный адаптер и изменить компонент флажка с помощью imageView или ProgressBar в макете.

person KEYSAN    schedule 07.03.2013
comment
спасибо за ответ, но я немного запутался в вашем коде. как я могу показать текст и значок вместе с изображением или индикатором выполнения? - person tlgtkn; 08.03.2013
comment
вместо флажка напишите так ‹ImageView android:id=@+id/imageView1 android:layout_width=wrap_content android:layout_height=wrap_content android:src=@drawable/yourIcon /› в этом случае в вашем списке отображается значок + текст рядом. вот еще один пример: wptrafficanalyzer .in/блог/ - person KEYSAN; 10.03.2013
comment
хм, я понимаю, но это не то, что я хочу. мне не нужны два разных элемента в списке. значок должен быть одним из символов текста (его позиции не определены), поэтому я использую расширяемую строку, она работает для текстового представления, которого нет в списке, но без изменений для текстового представления в списке. - person tlgtkn; 11.03.2013