当前位置:  编程技术>移动开发
本页文章导读:
    ▪【转】自定义ListView无法响应OnItemClickListener中的onItemClick方法有关问题解决方案        【转】自定义ListView无法响应OnItemClickListener中的onItemClick方法问题   Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题  在Android软件设计与实现中我们通常都会使用到.........
    ▪ 把数据写下到文件或者读取文件内容        把数据写入到文件或者读取文件内容 首先写读取和写入的两个方法 static public String ReadActivityFile(Context aContext, String aFile) { String buffer=""; FileInputStream in2; try { in2 = aContext.openFileInput(aFile.........
    ▪ 14类常见网站推广手段成本预估       14种常见网站推广手段成本预估 网站推广的手段很多,包含论坛推广、博客推广、邮件推广、搜索优化等等,这些网站推广需要哪些成本?选择什么样的推广手段更能事半功倍?分享一张.........

[1]【转】自定义ListView无法响应OnItemClickListener中的onItemClick方法有关问题解决方案
    来源: 互联网  发布时间: 2014-02-18
【转】自定义ListView无法响应OnItemClickListener中的onItemClick方法问题
  Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题
  
在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需要通过自定义 ListView来实现一些效果,那么在这个时候,我们通常会碰到自定义ListView无法选中整个ListViewItem的情况,也就是无法响应 ListView的onItemClickListener中的onItemClick()方法,究竟是为什么呢?

我之前也在网上查过不少的资料,但是没有发现什么有价值的文章,有一些是建议在Adapter的getView方法中对自己需要响应单击事件的控件进行设置。但是最终的效果并不是特别理想,而且我认为这是一种取巧的方式,并不推荐

  我们看到了一行代码定义的变量的意思是“当前View将屏蔽他所有子控件的Focus状态,即便这些子控件是可以Focus的”,其实这段话的意思就是这个变量代表着当前的View将不顾其子控件是否可以Focus自身接管了所有的Focus,通常默认能获得focus的控件有 Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView 中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法.

然而将ListView的Item Layout的子控件focusable属性设置为false有点繁琐,我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendant”即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,

如此就可以顺利的响应onItemClickListener中的 onItenClick()方法了。

    
[2] 把数据写下到文件或者读取文件内容
    来源: 互联网  发布时间: 2014-02-18
把数据写入到文件或者读取文件内容
首先写读取和写入的两个方法
static public String ReadActivityFile(Context aContext, String aFile) {
		String buffer="";
		FileInputStream in2;
			try {
				in2 = aContext.openFileInput(aFile);
				
				InputStreamReader inReader = new InputStreamReader(in2);
				int buf= 1024;
				BufferedReader line = new BufferedReader(inReader,buf);
				String tmpBuffer = "";
					while ((tmpBuffer = line.readLine()) != null) {
						buffer += tmpBuffer;
					}
				line.close();
				inReader.close();
				in2.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		return buffer;
	}

	static public void WriteActivityFile(Context aContext, String aFile,
			String aBuffer) {
		try {
			FileOutputStream os = aContext.openFileOutput(aFile,
					Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
			OutputStreamWriter outWriter = new OutputStreamWriter(os);

			outWriter.write(aBuffer, 0, aBuffer.length());
			outWriter.flush();
			outWriter.close();
			os.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 然后在需要用的地方调用就行了,把需要的参数完成:

读取:

	String buffer = "";
					buffer = FileUtils.ReadActivityFile(ScoreActivity.this,
							common.FAVORITE_DATA_FILE);

 写入:

FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);

 

 

下面的一个例子是:点击一次,把这条数据保存到文件里面,然后再点击一次,又取消保存,就是从文件删除:

LinearLayout ly = (LinearLayout) layout
					.findViewById(R.id.linear_score_choise);
			ly.setOnClickListener(new OnClickListener() {
				public void onClick(View arg0) {

					String buffer = "";
					buffer = FileUtils.ReadActivityFile(ScoreActivity.this,
							common.FAVORITE_DATA_FILE);
					boolean isFileBlank = false;
					if (buffer.length() <= 0) {
						// 如果buffer为空,则为true;
						isFileBlank = true;
					}
					boolean has_fav = false;
					// 如果buffer不为空
					if (!isFileBlank) {
						// 解析到集合中
						Vector fav_list = CommonUtil.Split(buffer, ",");
						buffer = "";// buffer初始化

						for (int i = 0; i < fav_list.size(); i++) {
							String fav_id = (String) fav_list.elementAt(i);
							// System.out.println(fav_id);
							if (fav_id.equals(mId)) {
								has_fav = true;
								continue;
							}
							if (fav_id.length() <= 0) {
								continue;
							}
							buffer += fav_id;
							if (i != fav_list.size() - 1) {
								buffer += ",";
							}
						}
					}
					if (buffer.length() > 0
							&& buffer.charAt(buffer.length() - 1) == ',') {
						buffer = buffer.substring(0, buffer.length() - 1);
					}
					if (has_fav) {
						// 取消关注
						imageView.setImageResource(R.drawable.gray_star);
						Toast.makeText(ScoreActivity.this, "该场关注已取消!",
								Toast.LENGTH_SHORT).show();
						FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);
					} else {
						// 关注
						if (!isFileBlank) {// 如果buffer有数据
							buffer += ",";
						}
						buffer += mId;
						imageView.setImageResource(R.drawable.yellow_star);
						Toast.makeText(ScoreActivity.this, "该场比赛已成功关注!",
								Toast.LENGTH_SHORT).show();
						FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);
					}
				}
			});

 


    
[3] 14类常见网站推广手段成本预估
    来源: 互联网  发布时间: 2014-02-18
14种常见网站推广手段成本预估
网站推广的手段很多,包含论坛推广、博客推广、邮件推广、搜索优化等等,这些网站推广需要哪些成本?选择什么样的推广手段更能事半功倍?分享一张牟长青总结的网站推广成本预估图,可能不是很准,但内容多为经验总结,非常实在:



因为中国网民的地理分布、阶层分布、上网习惯都太广泛了,你很难仅靠一两种手段就能接触到所有网民。单从流量成本上来看,我个人比较推崇的是SEO、网址站,其次是SEM、客户端软件。而其他的方式虽然也很重要,但每流量成本是比较高的。大家可以参见下面的数据略知一二,这些数据一般取的行业平均数值,仅供参考。



    
最新技术文章:
▪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实现弹出键盘的方法 iis7站长之家
▪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