checkedtextview详解是什么控件

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
Item是由两个控件组成的。
代码片段:
1. item的布局:list_checktextview.xml
&?xml version="1.0" encoding="utf-8"?&&LinearLayout xmlns:android=""&&& android:layout_width="fill_parent" android:layout_height="fill_parent"&&& android:orientation="horizontal"&&&& &ImageView android:src="@drawable/ic_launcher"&&&&&&& android:layout_width="wrap_content" android:layout_height="wrap_content"/&&&CheckedTextView&&&& android:id="@+id/checktv_title"&&&& android:layout_width="match_parent"&&&& android:layout_height="?android:attr/listPreferredItemHeight"&&&& android:textAppearance="?android:attr/textAppearanceLarge"&&&& android:gravity="center_vertical"&&&& android:checkMark="?android:attr/listChoiceIndicatorMultiple"&&&& android:paddingLeft="6dip"&&&& android:paddingRight="6dip"&/&&&!-- 单选&&android:checkMark="?android:attr/listChoiceIndicatorSingle"& --&&/LinearLayout&2. Activity中的实现package com.test.import java.util.ArrayLimport java.util.HashMimport android.app.ListAimport android.content.Cimport android.os.Bimport android.view.LayoutIimport android.view.Vimport android.view.ViewGimport android.widget.AdapterVimport android.widget.AdapterView.OnItemClickLimport android.widget.BaseAimport android.widget.CheckedTextVimport android.widget.ListVpublic class ListCheckedTextView extends ListActivity {&private ArrayList&HashMap&String,String&& arrlist = new ArrayList&HashMap&String,String&&();&private ListView listV&private HashMap&Integer,Boolean& checkedMap = new HashMap&Integer, Boolean&();& &&&& @Override&&& public void onCreate(Bundle savedInstanceState) {&&&&&&& super.onCreate(savedInstanceState);&&&&&&& &&&&&&& getdata();&&&&&&& &&&&&&& /* 设置ListView的适配器&&&&&&&&&&&& 有两种方式加载含CheckedTextView的多选模式并响应事件&&&&&&&&&&& 1. 但是这种方式,选择多选响应事件时 各个Item会出现乱弹的现象,不知道为什么 希望各位大虾帮帮忙&&&&&&&&&&& //适配器设置&&&&&&&&& & setListAdapter(new SimpleAdapter(this, arrlist, R.layout.list_checktextview, new String[]{"title"}, new int[]{R.id.checktv_title}));&&&&&&&&& & //listview的监听事件&&&&&&&&& &listView.setOnItemClickListener(new OnItemClickListener() {&&&&@Override&&&&public void onItemClick(AdapterView&?& parent, View view, int position, long id) {&&&&&&&&&& & checktv = (CheckedTextView) parent.getChildAt(position).findViewById(R.id.checktv_title);&&&&& &&if(checktv.isChecked()){&& &&&&&& && checktv.setChecked(false);&& &&&&&& & }else{&& &&&&&& && checktv.setChecked(true);&& &&&&&& & }&& &&&& }&&&});&&&2. 通过自定义Adapter实现 如下,&&&&&&&& */&&&&&&& setListAdapter(new MyAdapter(this, arrlist));&&&&&&& &&&&&&& listView = getListView();&&&&&&& listView.setItemsCanFocus(false);&&&&&&& listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//&&&&&&& listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//单选&&&&&&& &&&&&&& listView.setOnItemClickListener(new OnItemClickListener() {&&&@Override&&&public void onItemClick(AdapterView&?& parent, View view, int position, long id) {&&&&/*对于由position指定的项目,返回其是否被选中。&&&& * 只有当选择模式已被设置为CHOICE_MODE_SINGLE或CHOICE_MODE_MULTIPLE时 ,结果才有效。&&&& */&&&& &&&&boolean checked = getListView().isItemChecked(position);& &&&& checkedMap.put(position,checked);& &&&}&&});&&& }&&& &&& //构造数据&&& private ArrayList&HashMap&String,String&& getdata(){&&& &HashMap&String,String& map = new HashMap&String, String&();&&& &map.put("title", "aaaa");&&& &arrlist.add(map);&&& &map = new HashMap&String, String&();&&& &map.put("title", "bbbb");&&& &arrlist.add(map);&&& &map = new HashMap&String, String&();&&& &map.put("title", "cccc");&&& &arrlist.add(map);&&& &&&& }&&& &&& //自定义Adapter,从checkMap中获取当前Item的状态 并设置&&& private class MyAdapter extends BaseAdapter{&&& &private LayoutI&&& &ArrayList&HashMap&String,String&&&&& &&&& &public MyAdapter(Context context , ArrayList&HashMap&String,String&& datalist){&&& &&super();&&& &&inflater = LayoutInflater.from(context);&&& &&this.datalist =&&& &}&&& &&&@Override&&public int getCount() {&&&return datalist.size();&&}&&@Override&&public Object getItem(int position) {&&&&&}&&@Override&&public long getItemId(int position) {&&&&&}&&@Override&&public View getView(int position, View convertView, ViewGroup parent) {&&&ViewHolder holder =&&&if(convertView == null){&&&&convertView = inflater.inflate(R.layout.list_checktextview, null);&&&&holder = new ViewHolder();&&&&holder.checktv_title = (CheckedTextView) convertView.findViewById(R.id.checktv_title);&&&&convertView.setTag(holder);&&&}else{&&&&holder = (ViewHolder) convertView.getTag();&&&}&&&&&&holder.checktv_title.setText(datalist.get(position).get("title").toString());&&&//根据checkMap中position的状态设置是否被选中&&&if (checkedMap.get(position) != null && checkedMap.get(position) == true) {&&&&holder.checktv_title.setChecked(true);&&&}else{&&&&holder.checktv_title.setChecked(false);&&&}&&&&&&return convertV&&}& &&& &&&class ViewHolder {&&&CheckedTextView checktv_&&}&&& }}
阅读(21156)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'ListView中的CheckedTextView 多选',
blogAbstract:'实现ListView中多选按纽选中或取消 有很多种方式 本实例根据查看ApiDemos 通过自定义Adaper实现的。
Item是由两个控件组成的。
代码片段:
1. item的布局:list_checktextview.xml
blogTag:'checkedtextview',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:5,
publishTime:5,
permalink:'blog/static/',
commentCount:3,
mainCommentCount:3,
recommendCount:5,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}TextView控件学习
TextView控件可以向用户展现文本信息,我们可以设置该文本信息是否能编辑
1、TextView基本使用
在程序中创建TextView对象
在xml文件中布局使用
2、New Android Project-&
Project name:TextView
Build Target:Android 2.2
Application name:TextViewDemo
Package name:com.b510.textview.activity
Create Activity:MainActivity
Min SDK Version:8
这样我们的项目就搭建起来了
3、在MainActivity.java文件中添加TextView控件
public class MainActivity extends Activity{
&&&&&& public void onCreate(Bundle savedInstanceState){
&&&&&&&&&&&&&&&&&&&& super(savedInstanceState);
&&&&&&&&&&&&&&&&&&&& setContentView(R.layout.main);
&&&&&&&&&&&&&&&&&&&& TextView tv=new TextView(this);
&&&&&&&&&&&&&&&&&&&& tv.setText(&hello&);
&&&&&&&&&&&&&&&&&&&& setContentView(tv);
此程序比较简单,只有一个控件,如果有很多哥控件时,那么我们需要写很多的代码去进行控件的布局,这样,为我们以后的维护会带来很大的困难。所以,在Android开发中,推荐使用xml文件进行控件布局
4、在main.xml文件中添加控件
&&&&&&&&&&&&& android:id=&@+id/myTextView&
&&&&&&&&&&&&& android:layout_width=&fill_parent&
&&&&&&&&&&&&& android:layout_height=&wrap_content&
&&&&&&&&&&&&& android:text=&你好&
这样再次运行程序,&你好&就会在模拟器上输出
我们的程序要很多人使用的话,外观肯定要做的漂亮,放在xml文件中,我们可以很方便的来修改他的外观,同时,美工人员来设计xml文件,程序员只负责编码,美工人员不关心代码是怎样设计的,这个和web开发很相似,美工人员专心做页面,做后台的就专心设计后台代码,他们互不干扰。
5、TextView属性
设置字体大小推荐使用sp作为单位
设置宽度或高度等属性时推荐使用dp(dip)作为单位
android:TextSize=&20sp&
6、设置超链
android:autoLink设置是否为文本URL链接/email/电话号码/map时,文本显示为可点击的链接
android:autoLink=&phone&
7、设置字体颜色
android:textColor=&#00FF00&
8、跑马灯效果
android:ellipSize设置文字过长时,该控件是如何显示的呢?
&&&&& start&省略号显示在开头
end&省略号显示在结尾
middle&省略号显示在中间
marquee&以跑马灯的方式显示
&!--无数次的跑动--&
android:marqueeRepeatLimit=&marquee_forever&
&!--触摸时获得焦点--&
android:focuseableTouchMode=&true&
&!-- 单行显示--&
android:singleLine=&true&
阅读(...) 评论() &TA的最新馆藏[转]&}

我要回帖

更多关于 checkedtextview用法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信