本文分别使用适配器和不使用适配器来分别达到一样的功能
一:使用适配器(方法一)
布局文件:
<ListView
android:id="@+id/list_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
主要代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//需要显示的数据
String[] strs = {"大龙","叶子","小龙","打野","绿马","飞车"};
//创建适配器ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this,android.R.layout.simple_expandable_list_item_1,strs);
//获取ListView对象,通过调用setAdapter方法为ListView设置Adapter设置适配器
ListView listView = (ListView)findViewById(R.id.list_test);
listView.setAdapter(adapter);
//adapter是用来帮助填充数据的中间桥梁,
//简单的说就是,将各种数据以合适的形式
//显示到View上,提供个用户看
}
}
二:不使用适配器(直接使用数组资源文件)
布局文件1:
<ListView
android:id="@+id/list_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/myarray"
>
</ListView>
数组资源:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="myarray">
<item>语文</item>
<item>数学</item>
<item>数学</item>
<item>英语</item>
<item>语文</item>
<item>数学</item>
<item>英语</item>
<item>语文</item>
<item>数学</item>
<item>英语</item>
</string-array>
</resources>
这种方式不需要用到适配器,就可以实现和实现ArrayAdapter适配器几乎一样的功能
所以,简单的功能需求的时候,可以采取这种方式
三:使用适配器(方法二 - 使用适配器的情况下使用数组资源文件)
创建适配器的代码修改如下:
//创建适配器ArrayAdapter
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource
(this,R.array.myarray,android.R.layout.simple_list_item_multiple_choice );
样式换成
simple_expandable_list_item_1 的话。
样式可以自己选择的嘛