当前位置:  编程技术>移动开发
本页文章导读:
    ▪listview与checkbox联结使用        listview与checkbox联合使用效果图如下: 源码如下: MainActivity.java: package com.google.activity; import com.google.R; import com.google.adapter.MainAdapter; import android.app.Activity; import android.os.Bundle; import android.vi.........
    ▪ 微软中国反偷 20 年,人不服水土        微软中国反盗 20 年,人不服水土 第一财经日报  李娜 王滋 “微软从1992年开始进入中国,现在还在面临打击盗版的挑战。”微软公司OEM事业部副总裁郝哲思昨日在接受《第一财经日.........
    ▪ 2013 年 KDE 大灾难:损毁资料完美镜像       2013 年 KDE 大灾难:损毁文件完美镜像KDE开发者Jeff Mitchell在博客中记录了2013年KDE最大灾难:2013 年3月22日,root git服务器(git.kde.org)因安全原因下线,在应用了安全更新之后服务器重新上线.........

[1]listview与checkbox联结使用
    来源: 互联网  发布时间: 2014-02-18
listview与checkbox联合使用

效果图如下:


源码如下:

MainActivity.java:

package com.google.activity;

import com.google.R;
import com.google.adapter.MainAdapter;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;

public class MainActivity extends Activity implements OnClickListener{	
	
	private ListView listView;
	private Button btnSelectAll, btnUnSelectAll;
	
	private MainAdapter adapter;
	
	@Override
	public void onCreate(Bundle b){
		super.onCreate(b);
		setContentView(R.layout.main);
		
		init();
		initAdapter();
		addAdapter();
		addListener();
		
	}
	
	private void init(){
		listView = (ListView)this.findViewById(R.id.listview_main);
		btnSelectAll = (Button)this.findViewById(R.id.button_main_selectall);
		btnUnSelectAll = (Button)this.findViewById(R.id.button_main_unselectall);
	}
	
	private void initAdapter(){
		adapter = new MainAdapter(this);
	}
	
	private void addAdapter(){
		listView.setAdapter(adapter);
	}
	
	private void addListener(){
		btnSelectAll.setOnClickListener(this);
		btnUnSelectAll.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch(v.getId()){
		case R.id.button_main_selectall:
			adapter.setListCheckStatus(true);
			adapter.notifyDataSetChanged();
			break;
		case R.id.button_main_unselectall:
			adapter.setListCheckStatus(false);
			adapter.notifyDataSetChanged();
			break;
		
		}
			
		
	}

}


MainAdapter.java:

package com.google.adapter;

import java.util.ArrayList;
import java.util.List;

import com.google.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.TextView;

public class MainAdapter extends BaseAdapter {
	
	public Context context;
	private LayoutInflater layoutInflater;
	
	private int listSize = 21;
	private List<Boolean> listCheckStatus;
	
	
	public MainAdapter(Context context){
		this.context = context;
		layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		listCheckStatus = new ArrayList<Boolean>(listSize);
		for(int i=0;i<listSize;i++){
			listCheckStatus.add(false);
		}
	}
	
	static class ViewHolder{
		private ImageView img;
		private TextView title;
		private CheckBox cb;
	}
	
	public List<Boolean> getListCheckStatus(){
		return listCheckStatus;
	}
	
	public void setListCheckStatus(Boolean boo){
		for(int i=0;i<listSize;i++){
			listCheckStatus.set(i, boo);
		}
	}
	
	@Override
	public int getCount() {
		return listSize;
	}

	@Override
	public Object getItem(int position) {
		return listCheckStatus.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder viewHolder = null;
		Boolean checkStatus = listCheckStatus.get(position);
			convertView = layoutInflater.inflate(R.layout.main_list_item, null);
			viewHolder = new ViewHolder();
			viewHolder.cb = (CheckBox)convertView.findViewById(R.id.main_list_item_cb);
			viewHolder.img = (ImageView)convertView.findViewById(R.id.main_list_item_icon);
			viewHolder.title = (TextView)convertView.findViewById(R.id.main_list_item_title);
			switch(position%3){
			case 0:viewHolder.img.setBackgroundResource(R.drawable.flower);
				viewHolder.title.setText("花朵...");
				break;
			case 1:viewHolder.img.setBackgroundResource(R.drawable.cattle);
				viewHolder.title.setText("大牛...");
				break;
			case 2:viewHolder.img.setBackgroundResource(R.drawable.light);
				viewHolder.title.setText("灯泡...");
			break;
			}
		
		viewHolder.cb.setId(position);
		viewHolder.cb.setChecked(checkStatus);
		viewHolder.cb.setOnCheckedChangeListener(new OnCheckedChangeListener(){
			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				listCheckStatus.set(buttonView.getId(), isChecked);
				notifyDataSetChanged();
			}});
		return convertView;
	}

	
	
}


布局文件
main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:background="#ffffff">
    
    <LinearLayout android:orientation="horizontal"
        android:layout_width="fill_parent"	android:layout_height="wrap_content">
		<Button android:id="@id/button_main_selectall"	android:text="@string/selectall"  android:textColor="#000000"
		    android:layout_width="wrap_content"	android:layout_height="wrap_content"	android:padding="16.0dip" />
		<Button android:id="@id/button_main_unselectall"	android:text="@string/unselectall"  android:textColor="#000000"
		    android:layout_width="wrap_content"	android:layout_height="wrap_content"	android:padding="16.0dip" />
	</LinearLayout>
        
    <ListView android:id="@id/listview_main"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:cacheColorHint="@null"	android:background="@drawable/anim_list_back"/>

</LinearLayout>


main_list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<ImageView android:id="@id/main_list_item_icon" android:layout_width="66.0dip"
		android:layout_height="66.0dip" android:contentDescription="@string/left"/>
	<TextView android:id="@id/main_list_item_title" android:layout_width="wrap_content" android:textColor="#ffff00"
		android:layout_toRightOf="@id/main_list_item_icon" android:layout_height="wrap_content" android:layout_centerVertical="true"/>
	<CheckBox android:id="@id/main_list_item_cb" android:layout_width="wrap_content"
		android:layout_alignParentRight="true" android:layout_height="wrap_content" android:layout_centerVertical="true"/>
</RelativeLayout>


源码免费下载地址:http://download.csdn.net/detail/xuweilinjijis/5185996


    
[2] 微软中国反偷 20 年,人不服水土
    来源: 互联网  发布时间: 2014-02-18
微软中国反盗 20 年,人不服水土

第一财经日报  李娜 王滋

“微软从1992年开始进入中国,现在还在面临打击盗版的挑战。”微软公司OEM事业部副总裁郝哲思昨日在接受《第一财经日报》采访时表示,微 软今年将进一步加大打击盗版的力度,将会对广州及深圳地区14家销售和安装了盗版Windows系统的品牌个人电脑经销商采取法律行动。此前,北京已有 16家相关经销商接到了类似的侵权警告。

根据IDC调查,目前市面预装软件的电脑中,有78%的个人电脑处于高危状态,因盗版软件而感染恶意程序,成为黑客们攻击的目标。而微软是受盗版影响最大的软件巨头之一。

公开资料显示,2004年微软的Windows操作系统中国的盗版率达90%,2006年这一比例下降至82%。2011年,微软CEO鲍尔默指责中国的盗版因素影响了微软的收入。微软在中国的销售额甚至还赶不上人口不及中国2%的马来西亚。

IDC的调研显示,目前盗版软件的来源渠道众多,前三大盗版软件主要来源于在线网站和街边市场以及朋友间的相互借用,而在线网站、P2P网站的 下载占到盗版软件渠道来源的43%。街边市场售卖盗版产品的情况也比较严重,盗版软件的光盘价格通常只是在4到7美元,数量相当庞大。

郝哲思对记者表示,微软已经开始对全国40余城市的传统IT卖场和商场销售的个人电脑进行抽样调查,并且对部分经销商提出了警告。

“去年开始我们不在中国内地推出光盘版的Win8,用户要使用正版Win8只有两个途径:通过微软的官方网站在线付费升级或购买一台预装 Win8的新电脑。”微软大中华区副总裁张永利对记者表示,另外通过和一些合作伙伴如国美、联想等合作,从源头上减少盗版带来的损害。

面对中国大面积的盗版现象,微软进入中国之初,采取了一些国际通行的反盗版措施,主要是诉诸法律。

1999年,微软起诉亚都科技公司失利。此后,微软公司又耗资近1亿美元,把包括深圳华为、北大方正等多家中国知名企业列入调查名单,但均无功 而返。从2000年开始微软的反盗版陷入低谷,转而把市场重点收缩到北京、上海、广州、成都等地,并成立独立于政府之外的盗版监督机构,但均收效甚微。

近年来,微软也开始通过不断降低产品售价,以争取更多习惯于使用盗版的中国用户。


    
[3] 2013 年 KDE 大灾难:损毁资料完美镜像
    来源: 互联网  发布时间: 2014-02-18
2013 年 KDE 大灾难:损毁文件完美镜像
KDE开发者Jeff Mitchell在博客中记录了2013年KDE最大灾难:2013 年3月22日,root git服务器(git.kde.org)因安全原因下线,在应用了安全更新之后服务器重新上线,然而当git.kde.org虚拟机重新启动后,虚拟机检 查到 ext4文件系统损毁,但不清楚损毁是服务器更新导致还是发生在之前。接着开发者检查了1500个KDE镜像Git库,发现每个镜像都自动同步了root git服务器的损毁文件,删除了实际上正确的KDE库。损毁被完美镜像了。幸运的是projects.kde.org服务器正在更新硬件,成为极少数没有 同步损毁文件的KDE库镜像。Mitchell进一步解释说,他们有备份机制,但由于服务器多是志愿者捐赠的,他们没有多少空间可以随时随地备份900 GB的存档。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3