android入门——UI(3)
2016-08-23 20:34
513 查看
Spinner控件 ListView控件
一、Spinner控件
点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值。
有两种指定数据源的方式
(1)通过数组资源文件指定
JustLook4.java
我们需要写一个类实现BaseAdapter抽象类,最主要的是getView方法,运行效果如下
一、Spinner控件
点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值。
有两种指定数据源的方式
(1)通过数组资源文件指定
package com.ouc.wkp.ui1; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import org.w3c.dom.Text; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by wkp on 2016/8/23. */ public class JustLook4 extends Activity { List<UserInfo> dataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview_index); //获取ListView ListView demoListView = (ListView) findViewById(R.id.my_list_view); //使用simpleAdapter //创建数据源对象(第二个参数) // List<Map<String,?>> dataList=new ArrayList<>(); // for(int i=0;i<50;i++){ // Map<String,String> map=new HashMap<>(); // map.put("name","张三"+i); // map.put("sex",i%2==0?"男":"女"); // map.put("age",10+i+""); // dataList.add(map); // } // // String[] from={"name","sex","age"}; // int[] to={R.id.tv_name,R.id.tv_sex,R.id.tv_age}; // // SimpleAdapter simpleAdapter=new SimpleAdapter(this,dataList,R.layout.item_userinfo,from,to); // demoListView.setAdapter(simpleAdapter); //使用BaseAdapter dataList = new ArrayList<>(); for (int i = 0; i < 50; i++) { UserInfo userInfo = new UserInfo(); userInfo.name = "张三" + i; userInfo.sex = i % 2 == 0 ? "男" : "女"; userInfo.age = 10 + i; dataList.add(userInfo); } UserInfoListAdapter userInfoListAdapter = new UserInfoListAdapter(); demoListView.setAdapter(userInfoListAdapter); } class UserInfoListAdapter extends BaseAdapter { @Override public int getCount() { return dataList.size(); } @Override public Object getItem(int i) { return dataList.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View itemRootView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_userinfo, null); TextView tvName = (TextView) itemRootView.findViewById(R.id.tv_name); tvName.setText(dataList.get(i).name); TextView tvSex = (TextView) itemRootView.findViewById(R.id.tv_sex); tvSex.setText(dataList.get(i).sex); TextView tvAge = (TextView) itemRootView.findViewById(R.id.tv_age); tvAge.setText(dataList.get(i).age + ""); ImageView imageViewSex = (ImageView) itemRootView.findViewById(R.id.image_view_sex); if (dataList.get(i).sex.equals("男")) { imageViewSex.setBackgroundResource(R.drawable.male); } else if (dataList.get(i).sex.equals("女")) { imageViewSex.setBackgroundResource(R.drawable.female); } return itemRootView; } } class UserInfo { String name; String sex; int age; } }
JustLook4.java
我们需要写一个类实现BaseAdapter抽象类,最主要的是getView方法,运行效果如下
相关文章推荐
- Android02--Android之UI控件ImageView+ImageButton
- ui组件--弹出层layer的使用
- Ubiquitous Religions ---并查集入门
- UINITY之Json运用项目
- ios通讯录------AddressBookUI
- UVa 11235 Frequent values (RMQ)
- String StringBuilder StringBuffer 对比 总结得非常好
- SoapUI5.0创建WebService接口模拟服务端
- IMS Modify Call send request 发出升级视频请求
- hdu 4285 circuits 插头dp
- loadRequest加载出错解决方案
- 4.5 ipu_request_irq函数详细分析
- 蓝牙之十三-HFPclient JNI层
- 基础篇--StringBuffer、StringBuilder、String
- OC语法基础:使用storyboard和xib的区别
- Vuejs——(1)入门(单向绑定、双向绑定、列表渲染、响应函数)
- poj 1019 Number Sequence
- Kylin Cube Build流程
- 交叉编译参数--build、host和target的区别
- arduino入门套件学习过程-安装配置