将自定义适配器设置为布局

时间:2013-06-04 13:53:36

标签: android listview mono xamarin

我是创建自定义列表视图的新手。我已经创建了一个新的适配器,但是想将它的适配器布局设置为我自己的适配器。如何更改此方法以选择我自己的布局文件?我很感激一个例子。

public override View GetView(int position, View convertView, ViewGroup parent)
{
    View view = convertView; 
    if (view == null) 
        view = context.LayoutInflater.Inflate(Android.Resource.Layout.SimpleListItem1, null);
    view.FindViewById<TextView>(Android.Resource.Id.Text1).Text = items[position];
    return view;
}

2 个答案:

答案 0 :(得分:0)

view = context.LayoutInflater.Inflate(R.Layout.my_list_item,null);

答案 1 :(得分:0)

如果要为列表视图开发自定义适配器,

1)您的活动必须延长ListActivity

2)第二,你必须有一个列表视图,其id为“list”。

3)你应该有一个行的布局。它应该像

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

    <ImageView
        android:id="@+id/icon"
        android:layout_width="22px"
        android:layout_height="22px"
        android:layout_marginLeft="4px"
        android:layout_marginRight="10px"
        android:layout_marginTop="4px"
        android:src="@drawable/ic_launcher" >
    </ImageView>

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="20px" >
    </TextView>

</LinearLayout> 

4)您的主要活动应该是

public class MyListActivity extends ListActivity {
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, values);
    setListAdapter(adapter);
  }

应该做的工作。