您的位置:首页 > 其它

arrayadapter适配器

2015-10-29 09:16 281 查看
Activity中的代码如下:

public class MainActivity extends Activity {

ListView lv = null;
String[] str_arr = null;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        lv = (ListView)findViewById(R.id.lv);

        /*

         * ListView:添加数据的话,引用适配器来对数据的操作

         */

        

        str_arr = getResources().getStringArray(R.array.books);//使用了获取string中的books这个数组

        

       // ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, str_arr);//使用系统提供的指定布局文件

        ArrayAdapter adapter = new ArrayAdapter(
        this,//第一个参数表示当前上下文的意思

        R.layout.activity_main_1,//第二个参数表示每一项的布局文件,每一项的显示方式

        R.id.tv, //第三个参数所设置的数据,将显示到布局上的哪个组件上

        str_arr//第四个参数:数据源,数组

        );

        

        lv.setAdapter(adapter);//往listview中填充数据

        

        //--listView添加事件

        lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, str_arr[position], 500).show();
//这个postion是表示这个下标到了哪里了,可以直接使用
}
});

        

    }

}

需要注意的是这个使用了

<string-array name="books">
<item>三国演义</item>
<item>西游记</item>
<item>红楼梦</item>
<item>水浒传</item>
</string-array>


在activity_main_1.xml代码如下:

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

<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="match_parent"

/>

</LinearLayout>


activity_main.xml的代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  适配器 arrayadapter