Adapter基础讲解-ArrayAdapter使用示例

1)ArrayAdapter使用示例:

运行效果图:

Adapter基础讲解-ArrayAdapter使用示例_第1张图片

代码实现:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //要显示的数据
        String[] strs = {"基神","B神","翔神","曹神","J神"};
        //创建ArrayAdapter
        ArrayAdapter<String> adapter = new ArrayAdapter<String>
                (this,android.R.layout.simple_expandable_list_item_1,strs);
        //获取ListView对象,通过调用setAdapter方法为ListView设置Adapter设置适配器
        ListView list_test = (ListView) findViewById(R.id.list_test);
        list_test.setAdapter(adapter);
    }
}

一些相关的东西:

1.除了通过数组外,我们还可以写到一个数组资源文件中:

比如:在res\valuse下创建一个数组资源的xml文件:arrays.xml

xml version="1.0" encoding="utf-8"?>  
  
     name="myarray">  
    语文  
    数学  
    英语  
          

接着布局的listview属性设置下这个列表项:

  
        android:id="@id/list_test"  
        android:layout_height="match_parent"  
        android:layout_width="match_parent"   
        android:entries="@array/myarray"/>

就可以了~

当然我们也可以在Java代码中这样写:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.myarray,android.R.layout.simple_list_item_multiple_choice );

同样也是可以的!

2.一开始也说了这个ArrayAdapter支持泛型,那么集合必不可少啦,比如,这样写:

List<String> data = new ArrayList<String>();
data.add("基神");
data.add("B神");
ArrayAdapter<String> adapter = new ArrayAdapter<String>
                (this,android.R.layout.simple_expandable_list_item_1,data);

就可以了~

3.我们看到了在实例化ArrayAdapter的第二个参数:android.R.layout.simple_expandable_list_item_1其实这些是系统给我们提供好的一些ListView模板,有下面几种:

simple_list_item_1 : 单独一行的文本框 simple_list_item_2 : 两个文本框组成simple_list_item_checked : 每项都是由一个已选中的列表项simple_list_item_multiple_choice : 都带有一个复选框simple_list_item_single_choice : 都带有一个单选钮

你可能感兴趣的:(Android基础)