大家好我是Android新手,也是stackoverflow,问候和感谢您的帮助。
我有2个Xml文件用于同一个活动。一个包含ListView,第二个作为我的ArrayAdapter的自定义布局,填充ListView,它也包含在我的第一个布局中:
<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);
我将字符串逐个保存到&#34; myList&#34;并在我的ListView上显示它们,我想要做的是使用idNum.setText(iterating_variable.toString())
枚举列表视图中的元素...但它不会起作用,因为idNum总是得到在XML文件。
这是我用来将第二个XML与我的Java代码链接起来的代码
lv = (RelativeLayout) findViewById(R.id.lv);
idNum = (TextView) lv.findViewById(R.id.label2);
再次感谢您的帮助。
答案 0 :(得分:0)
在适配器的setText()
方法中创建自定义适配器和getView()
喜欢
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;
}
}
并设置为ListView