2012-02-15 3 views
0

Я пытаюсь добавить массив строки и изображение в мое представление списка. Мне удалось оптимизировать каждую строку в списке, но теперь я не вижу текст в каждой строке в представлении списка. Я также хочу добавить изображение в каждую строку в виде списка. Я думаю, что нужно использовать diffrent адаптер ..Как добавить текст или изображение в настроенное listview

Код:

todoItems.add(redString); 
    todoItems.add(blueString); 
    todoItems.add(yellowString); 
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.listviewitem,todoItems); 
    mylistListView.setAdapter(aa); 

ListViewItem XML:

<com.todo.ListViewItem 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp" 
android:scrollbars="vertical" 
android:textColor="@color/notepad_text" 
android:fadingEdge="vertical" 
>  

+0

Что вы скажете об этом примере? [Android ListView примеры] (http://www.technotalkative.com/android-%E2%80%93-listview-%E2%80%93-5-%E2%80%93-optimized-custom-listview/) –

+0

См. Ниже ссылку ..... http://www.vogella.de/articles/AndroidListView/article.html#listsactivity_layout – himanshu

ответ

0

Вот некоторые Boags на пользовательских ListView. Прочитано this и this ссылка.

0

Я рекомендую вам использовать разметки в вашем списке. вот пример.

1) main.xml

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" android:weightSum="1"> 


    <ListView android:layout_width="match_parent"  
    android:id="@android:id/list" android:layout_alignParentTop="true" 
    android:layout_height="330dp" 
    android:layout_weight="0.48"></ListView> 
    </LinearLayout> 

2) создать шаблон с именем «list.xml», который включает в себя текст и изображение, как вы хотите, чтобы в вашем списке.

private LayoutInflater mInflater; 
    try{ 
mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    getList(); 


    }catch(Exception e){ 

    } 


private void getList(final ArrayList<Object> asdf) { 


    setListAdapter(new ArrayAdapter<Object>(MainActivity.this, 
      R.layout.list, asdf) { 

     @Override 
     public View getView(final int position, View convertView, 
       ViewGroup parent) { 

      View row; 

      if (null == convertView) { 
       row = mInflater.inflate(R.layout.list, null); 
      } else { 
       row = convertView; 
      } 

      TextView text1 = (TextView) row.findViewById(R.id.text1); 
      ImageView im = (ImageView) row.findViewById(R.id.image1); 

      row.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 

       } 
      }); 

      return row; 
     } 

    }); 

} 
Смежные вопросы