Android基础之ListView(Item)的使用
2016-08-03 20:02
447 查看
直接玩实例:
![](http://img.blog.csdn.net/20160803195532279?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
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"
tools:context=".MainActivity" >
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</RelativeLayout>
新建item_simple_adapter.xml 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5px"
android:layout_marginRight="5px"
android:src="@drawable/backup"
/>
<TextView android:id="@+id/titleTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:textSize="32px"
android:text="内容随意,显示会替换"
/>
<TextView android:id="@+id/descTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:layout_below="@+id/titleTextView"
android:textSize="22px"
android:text="内容随意,显示会替换"
/>
</RelativeLayout>
MainActivity.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity extends Activity {
private ListView lv;
private SimpleAdapter adapter;// 使用的适配器
private List<Map<String, Object>> list;// 数据源
private ImageView img;
private Map<String, Object> map;
private int[] imas = { R.drawable.backup, R.drawable.browser,
R.drawable.contacts, R.drawable.document, R.drawable.map,
R.drawable.music, R.drawable.note, R.drawable.theme,
R.drawable.store, R.drawable.setting };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化
lv = (ListView) findViewById(R.id.lv);
// 数据源的初始化
list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 10; i++) {
map = new HashMap<String, Object>();
// 给map添加键值对 一般来说item中包含多少个控件需要显示就会包含多少个键值对
map.put("name", imas[i]);
map.put("name1", "显示数据" + i);
map.put("name2", "显示数据子项" + i);
list.add(map);
}
//适配器进行初始化
//参数一:context 上下文对象
//参数二:data 数据源 类型为List<Map<String,Object>>
//参数三:resource item对应的布局。
//参数四:from 字符串类型的数组 map中的key组成的字符串类型的数组
//参数五:to int类型的数组
String[] from = { "name", "name1", "name2" };
int[] to = { R.id.imageView, R.id.titleTextView, R.id.descTextView };
adapter = new SimpleAdapter(MainActivity.this, list,
R.layout.item_simple_adapter, from, to);
lv.setAdapter(adapter);
//单击吐丝显示
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, "您点击了第"+position+"项", Toast.LENGTH_SHORT).show();
}
});
//长按删除
lv.setOnItemLongClickListener(new android.widget.AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
list.remove(position);
adapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "您删除了第"+position+"项", Toast.LENGTH_SHORT).show();
return true;
}
});
}
}
![](http://img.blog.csdn.net/20160803200117999?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
友情链接:
http://www.2cto.com/kf/201402/280719.html http://blog.sina.com.cn/s/blog_87216a000100zl3o.html
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"
tools:context=".MainActivity" >
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</RelativeLayout>
新建item_simple_adapter.xml 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5px"
android:layout_marginRight="5px"
android:src="@drawable/backup"
/>
<TextView android:id="@+id/titleTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:textSize="32px"
android:text="内容随意,显示会替换"
/>
<TextView android:id="@+id/descTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:layout_below="@+id/titleTextView"
android:textSize="22px"
android:text="内容随意,显示会替换"
/>
</RelativeLayout>
MainActivity.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity extends Activity {
private ListView lv;
private SimpleAdapter adapter;// 使用的适配器
private List<Map<String, Object>> list;// 数据源
private ImageView img;
private Map<String, Object> map;
private int[] imas = { R.drawable.backup, R.drawable.browser,
R.drawable.contacts, R.drawable.document, R.drawable.map,
R.drawable.music, R.drawable.note, R.drawable.theme,
R.drawable.store, R.drawable.setting };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化
lv = (ListView) findViewById(R.id.lv);
// 数据源的初始化
list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < 10; i++) {
map = new HashMap<String, Object>();
// 给map添加键值对 一般来说item中包含多少个控件需要显示就会包含多少个键值对
map.put("name", imas[i]);
map.put("name1", "显示数据" + i);
map.put("name2", "显示数据子项" + i);
list.add(map);
}
//适配器进行初始化
//参数一:context 上下文对象
//参数二:data 数据源 类型为List<Map<String,Object>>
//参数三:resource item对应的布局。
//参数四:from 字符串类型的数组 map中的key组成的字符串类型的数组
//参数五:to int类型的数组
String[] from = { "name", "name1", "name2" };
int[] to = { R.id.imageView, R.id.titleTextView, R.id.descTextView };
adapter = new SimpleAdapter(MainActivity.this, list,
R.layout.item_simple_adapter, from, to);
lv.setAdapter(adapter);
//单击吐丝显示
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, "您点击了第"+position+"项", Toast.LENGTH_SHORT).show();
}
});
//长按删除
lv.setOnItemLongClickListener(new android.widget.AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
list.remove(position);
adapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "您删除了第"+position+"项", Toast.LENGTH_SHORT).show();
return true;
}
});
}
}
友情链接:
http://www.2cto.com/kf/201402/280719.html http://blog.sina.com.cn/s/blog_87216a000100zl3o.html
相关文章推荐
- Android基础:listview的item点击事件会使里面的Button也出现按压的效果
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- Android基础(四) ListView的使用
- 【Android基础】listview控件的使用(3)------Map与SimpleAdapter组成的多显示条目的Listview
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- Android的基础学习:ListView的使用和Adapter
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- 【Android基础】listview控件的使用(2)-------继承自ListActivity的普通listview
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
- android基础知识复习(三)—— ListView使用
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- 【Android基础】listview控件的使用(1)------最简单的listview的使用
- 【Android基础】listview控件的使用(1)------最简单的listview的使用
- android Listview的getView和convertview原理解析以及使用不同的item布局(一)
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果