android-adapter小结
来源:互联网 发布:json返回html标签 编辑:程序博客网 时间:2024/06/06 10:04
adapter即适配器,功能就是把数据加载到界面上,通常是加载到listview上
例如:网易新闻列表,如下图
案例一:显示文字
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ></LinearLayout>
MainActivity.java
public class MainActivity extends Activity {
private static final String TAG = "MYDAPTER";
private ListView lv;
private List<String> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout ll_root = (LinearLayout) findViewById(R.id.ll_root);
lv = (ListView) findViewById(R.id.lv);
data = new ArrayList<String>();
for(int i = 0; i < 50; i++){
data.add("第" + i + "个view");
}
}
private class MyAdapter extends BaseAdapter{
/**
* 控制listview里面总共有多少个条目
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Log.i(TAG, "返回VIEW对象,位置:" + position);
TextView tv = new TextView(getApplicationContext());
tv.setTextSize(20);
tv.setTextColor(Color.BLACK);
String info= data.get(position);
tv.setText(info);
return tv;
}
}
}
案例二:组合view,SimpleAdapter使用
实现效果:
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"
></ListView>
</RelativeLayout>
list_item.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="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
List<Map<String, Object>> data = new ArrayList<Map<String,Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("nameText", "我是第一个功能");
map1.put("iconId", R.drawable.sym_call_incoming);
data.add(map1);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("nameText", "我是第二个功能");
map2.put("iconId", R.drawable.sym_call_missed);
data.add(map2);
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("nameText", "我是第三个功能");
map3.put("iconId", R.drawable.sym_call_incoming);
data.add(map3);
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("nameText", "我是第四个功能");
map4.put("iconId", R.drawable.sym_call_outgoing);
data.add(map4);
Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("nameText", "我是第五个功能");
map5.put("iconId", R.drawable.sym_contact_card);
data.add(map5);
//data 绑定数据 list集合
//R.layout.list_item 数据显示对应的布局
//要让数据跟view对象建立一个映射关系
//from [] map集合里面数据的key
//to [] 布局文件里面的 id
lv.setAdapter(new SimpleAdapter(this, data, R.layout.list_item, new String[]{"nameText", "iconId"}, new int[]{R.id.tv, R.id.iv}));
}
}
- Android-Adapter小结
- android-adapter小结
- android adapter的性能小结
- ListView和Adapter小结
- Android Adapter
- Android-Adapter
- android adapter
- Android Adapter
- Android Adapter
- Android - Adapter
- android adapter
- android adapter
- Android Adapter
- Android Adapter
- Android-Adapter
- Android Adapter
- android Adapter
- Android adapter
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——15、无监督学习:Reinforcement Learning and Control
- LeetCode Num74_Search a 2D Matrix
- 数据包离开主机的过程~~~
- hive sql 优化
- VC玩转.INI文件
- android-adapter小结
- 错觉思维
- Bitmap处理之创建可自动回收资源的ImageView
- Java基本功练习十九(抽象类和接口【抽象类、接口(监听器、克隆、可比较)、包装类、有理数类实现】)
- 158 鄭光弼 守夫
- mirrorlink相关参考网址
- VC中List Control简单用法
- Tomcat启动报“严重: Error listenerStart”错误的解决办法
- Cocos2d-x碰撞检查与消灭的实现