2013-03-07 75 views
0

我是新手到android和我有一個問題給你。我想將圖標添加到列表視圖中的文本。我使用下面的代碼動態添加行(textview)到listview。但文字不包含圖標。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方法的東西。因爲當我改變與

txt.setText(spans,BufferType.SPANNABLE); 

它的工作

dizi.add(spans.toString()); 

線,我可以看到文本的圖標。我不知道爲什麼它不使用toString()方法。

任何想法?

謝謝..

回答

0

有一個在這個職位自定義列表適配器的例子:https://stackoverflow.com/a/15272092/1752867

您可以創建這樣的,改變CheckBox組件與佈局的ImageView或進度您的自定義適配器

+0

感謝您的回覆,但我對您的代碼有點困惑。我如何將文字和圖標與imageview或progressbar一起顯示? – tlgtkn 2013-03-08 13:20:09

+0

代替複選框寫入這樣 \t 在這種情況下,您的列表顯示圖標+文本並排。 這裏是另一個例子:http://wptrafficanalyzer.in/blog/listview-with-images-and-text-using-simple-adapter-in-android/ – KEYSAN 2013-03-09 21:27:43

+0

嗯我明白了,但這不是我想要的。我不想在列表視圖中的兩個不同的元素。圖標必須是文本的字符之一(其位置不確定),所以我使用spannable字符串,其工作的textview不在列表視圖中,但在列表視圖中的textview沒有改變 – tlgtkn 2013-03-11 09:03:29