0

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

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;
}
4

2 回答 2

0

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

于 2013-06-04T14:19:31.610 回答
0

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

1)您的活动必须延长ListActivity

2)其次,您必须有一个 ID 为“列表”的列表视图。

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);
  }

那应该做的工作。

于 2013-06-04T14:41:27.320 回答