Adapter基础讲解-ArrayAdapter使用示例

来源:互联网 发布:原生js事件委托 编辑:程序博客网 时间:2024/06/06 00:48

1)ArrayAdapter使用示例:

运行效果图:

代码实现:

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"?>  <resources>      <string-array name="myarray">      <item>语文</item>      <item>数学</item>      <item>英语</item>      </string-array>      </resources>

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

<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 : 都带有一个单选钮

原创粉丝点击