2014-12-11 47 views
2

嗨,大家好,我是Android的新手,也是爲了獲得幫助而提供的stackoverflow,Greetings和謝謝。我怎樣才能將TextTextText設置爲ListView的每一行中的TextView

我有2個Xml文件用於同一活動。一個包含一個ListView,第二個作爲我的自定義佈局用於填充它也包含在我的第一個佈局一個ListView的ArrayAdapter:

<include android:id="@+id/lv" layout="@layout/lv_row" /> 

的ListView自定義佈局(lv_row.xml):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 


    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:id="@+id/icon" 
     android:src="@drawable/ic_launcher"/> 
    <TextView 
     android:layout_toRightOf="@+id/icon" 
     android:layout_width="fill_parent" 
     android:layout_height="38dp" 
     android:textSize="30sp" 
     android:id="@+id/label"/> 
    <TextView 
     android:layout_toRightOf="@+id/icon" 
     android:layout_below="@+id/label" 
     android:layout_width="fill_parent" 
     android:layout_height="12dp" 
     android:gravity="bottom" 
     android:id="@+id/label2" 

     android:textSize="12sp"/> 

</RelativeLayout> 

這是我的適配器:

final ArrayAdapter<String> Array = new ArrayAdapter<String>(this,R.layout.lv_row,R.id.label,myList); 

我救串逐個放入「myList中」和我的ListView顯示他們,我想要做的是通過枚舉我的列表視圖元素idNum.setText(iterating_variable.toString()) ...但它不起作用,因爲idNum總是獲取在XML文件上設置的值。

這是我使用的第二XML與我的Java代碼再次

lv = (RelativeLayout) findViewById(R.id.lv);   
    idNum = (TextView) lv.findViewById(R.id.label2); 

感謝您的幫助鏈接代碼。

+3

創建自定義列表視圖時right.Use'簡單adapter','基地adapter'或自定義的設置'陣列適配器'來實現這一點。 – Yugesh 2014-12-11 05:07:49

回答

0

class CustomAdapter extends BaseAdapter { 

    private ArrayList<String> mList; 
    private LayoutInflater  mInflater; 
    public CustomAdapter(ArrayList<String> list) { 
     mList = list; 
     mInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    @Override 
    public int getCount() { 

     return mList.size() ; 
    } 

    @Override 
    public Object getItem(int position) { 
     return mList.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 


    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     if (convertView == null) 
      convertView = mInflater.inflate(R.layout.lv_row, null); 
    ((TextView) convertView.findViewById(R.id.label2)).setText(mList.get(position)); 
    return convertView; 
    } 
} 

適配器 的getView()方法創建自定義適配器和setText()ListView

相關問題