Android ListView 列表视图
来源:互联网 发布:wlan未识别的网络win10 编辑:程序博客网 时间:2024/03/29 05:39
ListView 属性
android:entries="@array/listarray" //XML定义列表数组android:divider="#00ff00" //分割线色android:dividerHeight="3dp" //分割线高度
本例定义了4个ListView,第一个ListView列表项通过XML属性实现,第二个ListView列表项通过ListAdapter实现,第三个ListView列表项通过SimpleAdapter
实现,第四个ListView通过BaseAdapter实现列表项。
//XML定义的字符串数组 实现列表项
<resources>
<string-array name="listarray">
<item>CheckboxA</item> <item>RadioBox</item> <item>ToggleButton</item> <item>Switch</item> <item>ImageButton</item> </string-array></resources>
package shortcut.song.com.myapplication;import android.graphics.Color;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ListViewActivity extends AppCompatActivity { ListView mListView1; ListView mListView2; ListView mListView3; ListView mListView4; String listA[] = { "A","B","C" }; String listName[] = { "Jceke","Tomao","Karry" }; int listHeader[] = { R.drawable.img1, R.drawable.img2, R.drawable.img3, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_view); mListView1 = (ListView)findViewById(R.id.listview_list1); mListView2 = (ListView)findViewById(R.id.listview_list2); mListView3 = (ListView)findViewById(R.id.listview_list3); mListView4 = (ListView)findViewById(R.id.listview_list4); mListView1.setChoiceMode(ListView.CHOICE_MODE_SINGLE); mListView1.setSelection(1);//ArrayAdapter实现列表项 ListAdapter listAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice ,listA); mListView2.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); mListView2.setAdapter(listAdapter); List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>(); for( int i=0; i < listName.length; i++ ) { Map<String, Object> listItem = new HashMap<String, Object>(); listItem.put("name",listName[i]); listItem.put("header", listHeader[i]); listItems.add(listItem); }//SimpleAdapter实现列表项 SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.activity_list_view, //Layout xml文件 new String[] {"name", "header"}, new int[] {R.id.listname, R.id.listimage}); mListView3.setAdapter(simpleAdapter);//BaseAdapter 实现列表项 BaseAdapter baseAdapter = new BaseAdapter() { @Override public int getCount() { return 20; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LinearLayout layout = new LinearLayout(ListViewActivity.this); layout.setOrientation(LinearLayout.VERTICAL); ImageView image = new ImageView(ListViewActivity.this); image.setImageResource(R.drawable.alert_dialog_icon); TextView text = new TextView(ListViewActivity.this); text.setText("第"+position+"个列表项"); text.setTextSize(18); text.setTextColor(Color.GREEN); layout.addView(image); layout.addView(text); return layout; } }; mListView4.setAdapter(baseAdapter); //列表项的单击事件监听 mListView1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(ListViewActivity.this, "第" + position+"列表项被单击", Toast.LENGTH_SHORT).show(); } }); //列表项的选中事件监听 mListView1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { } @Override public void onNothingSelected(AdapterView<?> parent) { } }); //列表项的长按事件监听 mListView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(ListViewActivity.this, "第"+position+"列表项被长按",Toast.LENGTH_SHORT).show(); return false; } }); //列表项的选中事件监听 mListView2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(ListViewActivity.this, "第"+position+"列表项被选中",Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); }}
//XML 布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_list_view" 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="shortcut.song.com.myapplication.ListViewActivity"> <ListView android:id="@+id/listview_list1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/listarray" android:divider="#00ff00" android:dividerHeight="3dp" android:choiceMode="singleChoice" > </ListView> <ListView android:id="@+id/listview_list2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/listview_list1" android:divider="#ff00ff" android:dividerHeight="5dp" > </ListView> <ListView android:id="@+id/listview_list3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/listview_list2" > </ListView> <ListView android:id="@+id/listview_list4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/listview_list3"/> <LinearLayout android:id="@+id/listlearlayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/listview_list3" android:orientation="vertical" > <ImageView android:id="@+id/listimage" android:layout_width="35dp" android:layout_height="35dp" /> <TextView android:id="@+id/listname" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout></RelativeLayout>
0 0
- Android ListView 列表视图
- Android ListView 列表视图
- android 列表视图 ListView详解
- android 列表视图组件 ListView 详解
- Android组件之ListView(列表视图)
- Android列表视图(ListView--ArrayAdapter)学习
- Android列表视图(ListView--SimpleAdapter)学习
- Android列表视图(ListView--SimpleCursorAdapter)学习
- Android列表视图(ListView--ArrayAdapter)学习
- Android之如何使用ListView列表视图
- Android第五天之ListView列表视图
- ListView(列表视图)+BaseAdapter(基础适配器)=android滑动列表
- Android练习-----列表视图(ListView)(使用ListView控件创建列表视图)
- C# ListView(列表视图)
- 列表视图控件ListView
- 列表视图ListView之一
- 列表视图ListView
- ListView列表视图控件
- P1424 小鱼的航程(改进版)
- Qt的事件处理和定时器解析
- Python零基础入门二十六之GUI
- oracle11g客户端如何完全卸载
- 静态代理
- Android ListView 列表视图
- P1980 计数问题
- Symmetric Tree
- 总结16 畅想17
- Android So动态调试之反jdb附加的解决大法
- 开源项目
- 管道命令和xargs的区别
- 如何录制屏幕为gif动图文件
- Android项目仿驾校宝典的答题APP