当前位置:  编程技术>移动开发
本页文章导读:
    ▪wap文本框动态赋值不显示解决方法        wap文本框动态赋值不显示解决办法 $searchKeys = array("言情","玄幻","都市","全本","校园","耽美","武侠","斗破苍穹"); $searchKeyLength = count($searchKeys); $keyIndex = rand(0,$searchKeyLength-1); <input emptyok="tr.........
    ▪ 莫名诡谲的listview stackoverflow        莫名诡异的listview stackoverflow 同是有一个布局文件:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap.........
    ▪ Adroid 界面作图实现       Adroid 界面绘制实现 Adroid 界面绘制实现 用户接口方面,主要表现任务由View的各种继承类来实现。View类的继承关系如图所示。 当用户请求绘制调用invalidate(),此函数会找到当前View或Viewgroup的.........

[1]wap文本框动态赋值不显示解决方法
    来源: 互联网  发布时间: 2014-02-18
wap文本框动态赋值不显示解决办法

$searchKeys = array("言情","玄幻","都市","全本","校园","耽美","武侠","斗破苍穹");

$searchKeyLength = count($searchKeys);
$keyIndex = rand(0,$searchKeyLength-1);

<input emptyok="true" name="qs" value="<?php echo $searchKeys[$keyIndex];?>" size="10" />

 

 

结果文件框里面怎么也不显示动态取的值;

 

 

解决的办法:

 

$tmp = rand();

<input emptyok="true" 
   name="qs<?php echo $tmp;?>" value="<?php echo $searchKeys[$keyIndex];?>" size="10" /> 
postfield的值设定的时候:<postfield name="key" value="$(qs<?php echo $tmp;?>)" />
 

    
[2] 莫名诡谲的listview stackoverflow
    来源: 互联网  发布时间: 2014-02-18
莫名诡异的listview stackoverflow
同是有一个布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="wrap_content"
	android:layout_height="wrap_content">
	<LinearLayout android:id="@+id/backgroud" android:layout_width="wrap_content"
		android:layout_height="200dip" android:orientation="horizontal"
		android:background="@drawable/background0">
		<ListView android:background="@color/beijingwhite"
			android:layout_width="wrap_content" android:layout_height="180dip"
			android:layout_weight="1" android:id="@+id/list_1"
			android:layout_marginTop="10dip" android:layout_marginBottom="10dip"
			android:layout_marginLeft="20dip" android:divider="@color/black"
			android:dividerHeight="1dip" android:scrollbars="none" />
		<ListView android:background="@color/beijingwhite"
			android:id="@+id/list_2" android:scrollbars="none"
			android:layout_width="wrap_content" android:layout_height="180dip"
			android:layout_weight="1" android:layout_marginTop="10dip"
			android:layout_marginBottom="10dip" android:layout_marginLeft="5dip"
			android:layout_marginRight="20dip" android:divider="@color/black"
			android:dividerHeight="1dip" />


	</LinearLayout>
	<LinearLayout android:orientation="horizontal"
	    android:layout_marginTop="5dip"
		android:layout_width="fill_parent" android:layout_height="wrap_content">
		<Button android:id="@+id/btn_quxiao" android:background="@drawable/selector_titlebar"
			android:text="@string/btn_quxiao" android:layout_width="wrap_content"
			android:layout_gravity="left"
			android:textSize="30dip"
			android:textColor="@color/beijingwhite"
			android:layout_margin="10dip"
			android:layout_height="wrap_content" android:layout_weight="1" />
		<Button android:id="@+id/btn_wancheng" android:background="@drawable/selector_titlebar"
			android:text="@string/btn_wancheng" android:layout_width="wrap_content"
			android:textSize="30dip"
			android:layout_margin="10dip"
			android:layout_gravity="right"
			android:textColor="@color/beijingwhite"
			android:layout_height="wrap_content" android:layout_weight="1" />
	</LinearLayout>
</LinearLayout>

只要滚动这两个listview中的任何一个都将报错stackoverflow。报错日志在附件中。
我开始以为是布局层次过多,因为这个布局是在tab中!然后我修改如下,程序运行正常
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/background0">
	<!--	<LinearLayout android:layout_width="wrap_content"-->
	<!--		android:layout_height="200dip" android:orientation="horizontal"-->
	<!--		android:background="@drawable/background0">-->

	<ListView android:background="@color/beijingwhite"
		android:layout_alignParentLeft="true" android:layout_width="100dip"
		android:layout_height="180dip" android:id="@+id/list_1"
		android:layout_marginTop="10dip" android:layout_marginBottom="10dip"
		android:layout_marginLeft="20dip" android:divider="@color/black"
		android:dividerHeight="1dip" android:scrollbars="none" />
	<ListView android:background="@color/beijingwhite" android:id="@+id/list_2"
		android:layout_alignParentRight="true"
		android:scrollbars="none" android:layout_width="100dip"
		android:layout_height="180dip"
		android:layout_marginTop="10dip" android:layout_marginBottom="10dip"
		android:layout_marginLeft="5dip" android:layout_marginRight="20dip"
		android:divider="@color/black" android:dividerHeight="1dip" />


	<!--	</LinearLayout>-->
<!--	<LinearLayout android:orientation="horizontal"-->
<!--		android:layout_marginTop="5dip" android:layout_width="fill_parent"-->
<!--		android:layout_height="wrap_content">-->
		<Button android:id="@+id/btn_quxiao" android:layout_below="@id/list_1"  android:layout_alignParentLeft="true" android:background="@drawable/selector_titlebar"
			android:text="@string/btn_quxiao" android:layout_width="wrap_content"
			android:layout_gravity="left" android:textSize="30dip"
			android:textColor="@color/beijingwhite" android:layout_margin="10dip"
			android:layout_height="wrap_content" android:layout_weight="1" />
		<Button android:id="@+id/btn_wancheng"  android:layout_below="@id/list_1"  android:layout_alignParentRight="true" android:background="@drawable/selector_titlebar"
			android:text="@string/btn_wancheng" android:layout_width="wrap_content"
			android:textSize="30dip" android:layout_margin="10dip"
			android:layout_gravity="right" android:textColor="@color/beijingwhite"
			android:layout_height="wrap_content" android:layout_weight="1" />
<!--	</LinearLayout>-->
</RelativeLayout>


程序运行正常。但是我还是想不通,因为我认为层次不应该太多。猜测是否不是listview本省的问题。我又在网上搜索如下关键字: android listview stackoverflow。结果找到这篇文章:
http://serryzhao.iteye.com/blog/787202
按照其中指出的方式修改。程序也正常运行了。。。。。

所以很奇怪。。。我现在也没想通是什么问题造成。
背景图还是布局层次?

    
[3] Adroid 界面作图实现
    来源: 互联网  发布时间: 2014-02-18
Adroid 界面绘制实现

Adroid 界面绘制实现







用户接口方面,主要表现任务由View的各种继承类来实现。View类的继承关系如图所示。

当用户请求绘制调用invalidate(),此函数会找到当前View或Viewgroup的ParentView,并调用父视图的invalidateChild(this, r)。invalidateChild会循环调用父视图的invalidateChildInParent()因此层层向上层视图调用,直到调用到根视图ViewRoot。ViewRoot的invalidateChildInParent调用invalidateChild,然后发送消息让ViewRoot进行绘制。绘制代码在handleMessage()中的case DO_TRAVERSAL中调用了performTraversals()。

background.draw(canvas)

dispatchDraw(canvas)

在ViewGroup的dispatchDraw中会调用drawChild函数。drawChild根据子View的私有标志位mPrivateFlags来调用子类的draw()或者dispatchDraw(canvas)。由此实现了层层向下绘制,直到最基本的View。View的dispatchDraw是一个抽象函数,绘制过程到此结束。最后ViewRoot会调用nativeShowFPS(canvas, now - sDrawTime)函数将绘制结果canvas传递给本地层进行显示。





参考别人的分析,自己大概的看了一遍。框架层看得差不多了,本地层还没有看。等有时间看了再更新吧。



参考资料:http://blog.sina.com.cn/s/blog_5e71b14f0100c75g.html



联系方式:zhangyangjing#gmail.com

如要转载请注明版权到此位置。

 


    
最新技术文章:
▪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