﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-ZhipSoft.com</title><link>http://www.blogjava.net/zhip/</link><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;冬去春来&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp&lt;strong&gt;&lt;font style="FONT-SIZE: 9pt; FILTER: shadow(color=#cccccc); COLOR: #0060f0; HEIGHT: 1px"&gt;郑重声明：本Blog纯属个人学习、工作需要，记录相关资料。请不要发表任何有人身攻击的言论，谢谢！！&lt;/font&gt;&lt;a href='Http://www.ZhipSoft.com' target='_blank'&gt;www.ZhipSoft.com&lt;/a&gt;&lt;/strong&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 16:51:14 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 16:51:14 GMT</pubDate><ttl>60</ttl><item><title>SOA、ESB、SCA之间的联系</title><link>http://www.blogjava.net/zhip/archive/2011/02/18/344626.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Fri, 18 Feb 2011 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/02/18/344626.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/344626.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/02/18/344626.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/344626.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/344626.html</trackback:ping><description><![CDATA[SOA、ESB、SCA之间的联系<br />
&nbsp;<br />
SOA是一种服务集成的架构思想，超越具体的技术和架构，又涵盖具体的技术和架构。SOA的最常见的解决方案是SCA，其次还有JBI，BPEL、SDO也勉强可以算做SOA的解决方案之一，因为后两者也是为了系统解耦和集成提供了支持。<br />
&nbsp;<br />
SCA是服务组件架构，是SOA思想的最流行的一种实现方式，SOA思想的实现除了SCA外，还要JBI等。<br />
&nbsp;<br />
ESB是SCA思想实现的基础设施。ESB主要作用是集中注册发布服务，为服务与传输协议之间解耦。并不是所有的SOA架构都需要ESB，ESB是SCA特有的。当然任何符合ESB特征的解决方式都可以称之为ESB，也不仅仅是SCA内部的。<br />
&nbsp;<br />
综上所述，以上概念都是一个理念、一种思想，并非特指代某个现有的实现或解决方案，这是起初接触SOA 容易犯的概念上的错误。<br />
<img src ="http://www.blogjava.net/zhip/aggbug/344626.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-02-18 16:36 <a href="http://www.blogjava.net/zhip/archive/2011/02/18/344626.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘]android:windowSoftInputMode属性使用</title><link>http://www.blogjava.net/zhip/archive/2011/02/14/344258.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Mon, 14 Feb 2011 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/02/14/344258.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/344258.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/02/14/344258.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/344258.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/344258.html</trackback:ping><description><![CDATA[<p>在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用 </p>
<p>The AndroidManifest.xml File</p>
<p>&nbsp;&lt;activity android:windowSoftInputMode=["stateUnspecified",</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "stateUnchanged", "stateHidden",</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "stateAlwaysHidden", "stateVisible",</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "stateAlwaysVisible", "adjustUnspecified",</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "adjustResize", "adjustPan"] &#8230;&#8230; &gt;</p>
<p>&lt;/activity&gt;</p>
<p>attributes:</p>
<p>android:windowSoftInputMode</p>
<p>活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:</p>
<p>1&gt;&nbsp;&nbsp;&nbsp;&nbsp; 软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。</p>
<p>2&gt;&nbsp;&nbsp;&nbsp;&nbsp; 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。</p>
<p>它的设置必须是下面列表中的一个值，或一个&#8221;state&#8230;&#8221;值加一个&#8221;adjust&#8230;&#8221;值的组合。在任一组设置多个值——多个&#8221;state&#8230;&#8221;values，例如＆mdash有未定义的结果。各个值之间用|分开。例如: &lt;activity android:windowSoftInputMode="stateVisible|adjustResize" . . . &gt;</p>
<p>在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值</p>
<p>值 描述<br />
&nbsp;<br />
"stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。<br />
&nbsp;<br />
"stateUnchanged" 软键盘被保持无论它上次是什么状态，是否可见或隐藏，当主窗口出现在前面时。<br />
&nbsp;<br />
"stateHidden" 当用户选择该Activity时，软键盘被隐藏——也就是，当用户确定导航到该Activity时，而不是返回到它由于离开另一个Activity。<br />
&nbsp;<br />
"stateAlwaysHidden" 软键盘总是被隐藏的，当该Activity主窗口获取焦点时。<br />
&nbsp;<br />
"stateVisible" 软键盘是可见的，当那个是正常合适的时(当用户导航到Activity主窗口时)。<br />
&nbsp;<br />
"stateAlwaysVisible" 当用户选择这个Activity时，软键盘是可见的——也就是，也就是，当用户确定导航到该Activity时，而不是返回到它由于离开另一个Activity。<br />
&nbsp;<br />
"adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间，或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图，这个窗口将调整大小，这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。<br />
&nbsp;<br />
"adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。<br />
&nbsp;<br />
"adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反，当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小，因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。<br />
&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/zhip/aggbug/344258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-02-14 11:45 <a href="http://www.blogjava.net/zhip/archive/2011/02/14/344258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置Edit Text只读</title><link>http://www.blogjava.net/zhip/archive/2011/01/25/343515.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Tue, 25 Jan 2011 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/01/25/343515.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/343515.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/01/25/343515.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/343515.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/343515.html</trackback:ping><description><![CDATA[<p>&nbsp;@Override<br />
&nbsp;protected void onCreate(Bundle savedInstanceState) {<br />
&nbsp;&nbsp;super.onCreate(savedInstanceState);<br />
&nbsp;&nbsp;setContentView(R.layout.sqliteshowdemo);<br />
&nbsp;&nbsp;setTitle("查看日记");<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;//设置Edit Text只读--start<br />
&nbsp;&nbsp;showTitle.setOnFocusChangeListener(focus_listener_noIM);<br />
&nbsp;&nbsp;showTitle.setOnTouchListener(touch_listener_noIM);<br />
&nbsp;&nbsp;showContent.setOnFocusChangeListener(focus_listener_noIM);<br />
&nbsp;&nbsp;showContent.setOnTouchListener(touch_listener_noIM);<br />
&nbsp;&nbsp;//设置Edit Text只读--end<br />
&nbsp;<br />
&nbsp;}<br />
<br />
/*<br />
&nbsp; * 设置Edit Text只读<br />
&nbsp; */<br />
&nbsp;private void hideIM(View edt){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IBinder&nbsp; windowToken = edt.getWindowToken();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(windowToken != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; im.hideSoftInputFromWindow(windowToken, 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log.e("HideInputMethod", "failed:"+e.getMessage());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;/*<br />
&nbsp; * 设置Edit Text只读<br />
&nbsp; */<br />
&nbsp;&nbsp;&nbsp; private OnFocusChangeListener focus_listener_noIM = new OnFocusChangeListener(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void onFocusChange(View v, boolean hasFocus) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (hasFocus==true) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hideIM(v);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; };</p>
<p>&nbsp;/*<br />
&nbsp; * 设置Edit Text只读<br />
&nbsp; */<br />
&nbsp;&nbsp;&nbsp; private OnTouchListener touch_listener_noIM = new OnTouchListener(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public boolean onTouch(View v, MotionEvent event) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(event.getAction()==MotionEvent.ACTION_DOWN) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hideIM(v);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; };</p>
XML文件中EditText属性：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:singleLine="true"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:ellipsize="none"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:editable="false"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:inputType="none"
<img src ="http://www.blogjava.net/zhip/aggbug/343515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-01-25 17:17 <a href="http://www.blogjava.net/zhip/archive/2011/01/25/343515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘]android 自定义adapter extends BaseAdapter，做有自己布局的listView </title><link>http://www.blogjava.net/zhip/archive/2011/01/25/343513.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Tue, 25 Jan 2011 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/01/25/343513.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/343513.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/01/25/343513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/343513.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/343513.html</trackback:ping><description><![CDATA[<p>程序xml文件：</p>
<p>list_view.xml://主文件</p>
<p>view plaincopy to clipboardprint?<br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;&nbsp; <br />
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&nbsp; <br />
&nbsp;&nbsp; android:orientation="vertical"&nbsp; <br />
&nbsp;&nbsp; android:layout_width="fill_parent"&nbsp; <br />
&nbsp;&nbsp; android:layout_height="fill_parent"&gt;&nbsp; <br />
&nbsp;&nbsp; &lt;ListView android:id="@+id/list_view"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="fill_parent"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="fill_parent"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:divider="#ffc9c9c9"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:dividerHeight="1px"/&gt;&nbsp; <br />
&lt;/LinearLayout&gt;&nbsp; <br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
&nbsp;&nbsp; android:orientation="vertical"<br />
&nbsp;&nbsp; android:layout_width="fill_parent"<br />
&nbsp;&nbsp; android:layout_height="fill_parent"&gt;<br />
&nbsp;&nbsp; &lt;ListView android:id="@+id/list_view"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="fill_parent"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="fill_parent"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:divider="#ffc9c9c9"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:dividerHeight="1px"/&gt;<br />
&lt;/LinearLayout&gt; </p>
<p>item_custom.xml://定义想要的布局效果</p>
<p>view plaincopy to clipboardprint?<br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;&nbsp; <br />
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&nbsp; <br />
&nbsp;&nbsp; android:orientation="horizontal"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="58px"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; android:gravity="center_vertical"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;ImageView android:id="@+id/index_image"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="wrap_content"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ImageView&gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TextView android:id="@+id/index_text"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="50px"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:textSize="20sp"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_marginLeft="10px"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:gravity="center"&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:textColor="#ff000000"&gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TextView&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&lt;/LinearLayout&gt;&nbsp; <br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
&nbsp;&nbsp; android:orientation="horizontal"<br />
&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"<br />
&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="58px"<br />
&nbsp;&nbsp;&nbsp;&nbsp; android:gravity="center_vertical"<br />
&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;ImageView android:id="@+id/index_image"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="wrap_content"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ImageView&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TextView android:id="@+id/index_text"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_width="wrap_content"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_height="50px"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:textSize="20sp"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:layout_marginLeft="10px"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:gravity="center"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android:textColor="#ff000000"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TextView&gt;&nbsp;&nbsp;&nbsp; <br />
&lt;/LinearLayout&gt; </p>
<p>程序代码：</p>
<p>view plaincopy to clipboardprint?<br />
import java.util.ArrayList;&nbsp;&nbsp; <br />
import java.util.List;&nbsp;&nbsp; <br />
import android.app.Activity;&nbsp;&nbsp; <br />
import android.content.Context;&nbsp;&nbsp; <br />
import android.graphics.Color;&nbsp;&nbsp; <br />
import android.os.Bundle;&nbsp;&nbsp; <br />
import android.view.LayoutInflater;&nbsp;&nbsp; <br />
import android.view.View;&nbsp;&nbsp; <br />
import android.widget.BaseAdapter;&nbsp;&nbsp; <br />
import android.widget.ImageView;&nbsp;&nbsp; <br />
import android.widget.ListView;&nbsp;&nbsp; <br />
import android.widget.TextView;&nbsp;&nbsp; <br />
public class CustomListview extends Activity {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private ListView mListView;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private List&lt;String&gt; items;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; @Override&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void onCreate(Bundle savedInstanceStated) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.onCreate(savedInstanceStated);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setContentView(R.layout.list_view);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mListView = (ListView) findViewById(R.id.list_view);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fillArray();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mListView.setAdapter(new CustomListAdapter(this));&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private void fillArray() {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items = new ArrayList&lt;String&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items.add("白天");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items.add("黑天");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items.add("多云");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items.add("微风");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items.add("晴天");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; class CustomListAdapter extends BaseAdapter {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private LayoutInflater mInflater;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private Context mContext = null;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public CustomListAdapter(Context context) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mContext = context;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mInflater = LayoutInflater.from(mContext);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Object getItem(int arg0) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return items.get(arg0);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public long getItemId(int position) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return position;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getCount() {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return items.size();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public View getView(int position, View convertView,&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; android.view.ViewGroup parent) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final ImageView indexImage;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final TextView indexText;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (convertView == null) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 和item_custom.xml脚本关联&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; convertView = mInflater.inflate(R.layout.item_custom, null);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexImage = (ImageView) convertView.findViewById(R.id.index_image);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexText = (TextView) convertView.findViewById(R.id.index_text);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 设置item中indexText的文本&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexText.setText(items.get(position).toString());&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexText.setTextColor(Color.RED);&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 设置item中ImageView的图片&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; indexImage.setBackgroundResource(R.drawable.icon);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return convertView;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
}&nbsp; </p>
<img src ="http://www.blogjava.net/zhip/aggbug/343513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-01-25 17:12 <a href="http://www.blogjava.net/zhip/archive/2011/01/25/343513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘]android listview选中某一行，成选中状态颜色高亮显示</title><link>http://www.blogjava.net/zhip/archive/2011/01/25/343512.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Tue, 25 Jan 2011 09:10:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/01/25/343512.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/343512.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/01/25/343512.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/343512.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/343512.html</trackback:ping><description><![CDATA[<p>构造自己的adapter，在getView中，设置颜色，点击item，刷新listview。</p>
<p>代码：</p>
<p>view plaincopy to clipboardprint?<br />
import java.util.ArrayList;&nbsp;&nbsp; <br />
import java.util.HashMap;&nbsp;&nbsp; <br />
import java.util.List;&nbsp;&nbsp; <br />
import java.util.Map;&nbsp;&nbsp; <br />
import android.app.Activity;&nbsp;&nbsp; <br />
import android.content.Context;&nbsp;&nbsp; <br />
import android.graphics.Color;&nbsp;&nbsp; <br />
import android.os.Bundle;&nbsp;&nbsp; <br />
import android.view.LayoutInflater;&nbsp;&nbsp; <br />
import android.view.View;&nbsp;&nbsp; <br />
import android.view.ViewGroup;&nbsp;&nbsp; <br />
import android.widget.AdapterView;&nbsp;&nbsp; <br />
import android.widget.BaseAdapter;&nbsp;&nbsp; <br />
import android.widget.ListView;&nbsp;&nbsp; <br />
import android.widget.TextView;&nbsp;&nbsp; <br />
public class MyListView4 extends Activity {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private List&lt;Map&lt;String, Object&gt;&gt; mData;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ListView setlistViewLeft;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; MyAdapter adapter;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; @Override&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void onCreate(Bundle savedInstanceState) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.onCreate(savedInstanceState);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setContentView(R.layout.list);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mData = getData();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setlistViewLeft = (ListView)findViewById(R.id.listleft);&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adapter = new MyAdapter(this);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setlistViewLeft.setAdapter(adapter);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private List&lt;Map&lt;String, Object&gt;&gt; getData() {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList&lt;Map&lt;String, Object&gt;&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("title", "G1");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("info", "google 1");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add(map);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new HashMap&lt;String, Object&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("title", "G2");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("info", "google 2");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add(map);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new HashMap&lt;String, Object&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("title", "G3");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("info", "google 3");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add(map);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new HashMap&lt;String, Object&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("title", "G4");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("info", "google 4");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add(map);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new HashMap&lt;String, Object&gt;();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("title", "G5");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.put("info", "google 5");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.add(map);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return list;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2,long arg3) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adapter.setSelectItem(arg2);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adapter.notifyDataSetInvalidated();&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adapter.notifyDataSetChanged();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; };&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; /**&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; * listview中点击按键弹出对话框&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; */&nbsp; <br />
&nbsp;&nbsp;&nbsp; public final class ViewHolder {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public TextView titleText;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public TextView infoText;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public class MyAdapter extends BaseAdapter {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private LayoutInflater mInflater;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public MyAdapter(Context context) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.mInflater = LayoutInflater.from(context);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public int getCount() {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return mData.size();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public Object getItem(int arg0) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return mData.get(arg0);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public long getItemId(int arg0) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return arg0;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public View getView(int position, View convertView, ViewGroup parent) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ViewHolder holder = null;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (convertView == null) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder = new ViewHolder();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; convertView = mInflater.inflate(R.layout.leftview, null);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; convertView.setTag(holder);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder = (ViewHolder) convertView.getTag();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder.titleText.setText((String) mData.get(position).get("title"));&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; holder.infoText.setText((String) mData.get(position).get("info"));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (position == selectItem) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; convertView.setBackgroundColor(Color.RED);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; convertView.setBackgroundColor(Color.TRANSPARENT);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //convertView.getBackground().setAlpha(80);&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return convertView;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp; void setSelectItem(int selectItem) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.selectItem = selectItem;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int&nbsp; selectItem=-1;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
}&nbsp; <br />
import java.util.ArrayList;<br />
import java.util.HashMap;<br />
import java.util.List;<br />
import java.util.Map;<br />
import android.app.Activity;<br />
import android.content.Context;<br />
import android.graphics.Color;<br />
import android.os.Bundle;<br />
import android.view.LayoutInflater;<br />
import android.view.View;<br />
import android.view.ViewGroup;<br />
import android.widget.AdapterView;<br />
import android.widget.BaseAdapter;<br />
import android.widget.ListView;<br />
import android.widget.TextView;<br />
public class MyListView4 extends Activity {<br />
&nbsp;private List&lt;Map&lt;String, Object&gt;&gt; mData;&nbsp;<br />
&nbsp;ListView setlistViewLeft;<br />
&nbsp;MyAdapter adapter;&nbsp;<br />
&nbsp;<br />
&nbsp;@Override<br />
&nbsp;public void onCreate(Bundle savedInstanceState) {<br />
&nbsp;&nbsp;super.onCreate(savedInstanceState);<br />
&nbsp;&nbsp;setContentView(R.layout.list);<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;mData = getData();&nbsp;&nbsp;<br />
&nbsp;&nbsp;setlistViewLeft = (ListView)findViewById(R.id.listleft); <br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;adapter = new MyAdapter(this);<br />
&nbsp;&nbsp;setlistViewLeft.setAdapter(adapter);<br />
&nbsp;&nbsp;setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);<br />
&nbsp;}<br />
&nbsp;private List&lt;Map&lt;String, Object&gt;&gt; getData() {<br />
&nbsp;&nbsp;List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList&lt;Map&lt;String, Object&gt;&gt;();<br />
&nbsp;&nbsp;Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;map.put("title", "G1");<br />
&nbsp;&nbsp;map.put("info", "google 1");<br />
&nbsp;&nbsp;list.add(map);<br />
&nbsp;&nbsp;map = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;map.put("title", "G2");<br />
&nbsp;&nbsp;map.put("info", "google 2");<br />
&nbsp;&nbsp;list.add(map);<br />
&nbsp;&nbsp;map = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;map.put("title", "G3");<br />
&nbsp;&nbsp;map.put("info", "google 3");<br />
&nbsp;&nbsp;list.add(map);<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;map = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;map.put("title", "G4");<br />
&nbsp;&nbsp;map.put("info", "google 4");<br />
&nbsp;&nbsp;list.add(map);<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;map = new HashMap&lt;String, Object&gt;();<br />
&nbsp;&nbsp;map.put("title", "G5");<br />
&nbsp;&nbsp;map.put("info", "google 5");<br />
&nbsp;&nbsp;list.add(map);<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}<br />
&nbsp;AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {<br />
&nbsp;&nbsp;public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2,long arg3) {<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;adapter.setSelectItem(arg2);<br />
&nbsp;&nbsp;&nbsp;adapter.notifyDataSetInvalidated();<br />
//&nbsp;&nbsp;&nbsp;adapter.notifyDataSetChanged();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;};<br />
&nbsp;/**<br />
&nbsp; * listview中点击按键弹出对话框<br />
&nbsp; */<br />
&nbsp;public final class ViewHolder {<br />
&nbsp;&nbsp;public TextView titleText;<br />
&nbsp;&nbsp;public TextView infoText;&nbsp;&nbsp;<br />
&nbsp;}<br />
&nbsp;public class MyAdapter extends BaseAdapter {<br />
&nbsp;&nbsp;private LayoutInflater mInflater;<br />
&nbsp;&nbsp;public MyAdapter(Context context) {<br />
&nbsp;&nbsp;&nbsp;this.mInflater = LayoutInflater.from(context);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public int getCount() {<br />
&nbsp;&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp;return mData.size();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public Object getItem(int arg0) {<br />
&nbsp;&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp;return mData.get(arg0);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public long getItemId(int arg0) {<br />
&nbsp;&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp;return arg0;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public View getView(int position, View convertView, ViewGroup parent) {<br />
&nbsp;&nbsp;&nbsp;ViewHolder holder = null;<br />
&nbsp;&nbsp;&nbsp;if (convertView == null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;holder = new ViewHolder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;convertView = mInflater.inflate(R.layout.leftview, null);<br />
&nbsp;&nbsp;&nbsp;&nbsp;holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);<br />
&nbsp;&nbsp;&nbsp;&nbsp;holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;convertView.setTag(holder);&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;holder = (ViewHolder) convertView.getTag();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;holder.titleText.setText((String) mData.get(position).get("title"));<br />
&nbsp;&nbsp;&nbsp;holder.infoText.setText((String) mData.get(position).get("info"));&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if (position == selectItem) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;convertView.setBackgroundColor(Color.RED);<br />
&nbsp;&nbsp;&nbsp;} <br />
&nbsp;&nbsp;&nbsp;else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;convertView.setBackgroundColor(Color.TRANSPARENT);<br />
&nbsp;&nbsp;&nbsp;}&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;//convertView.getBackground().setAlpha(80); <br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;return convertView;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;public&nbsp; void setSelectItem(int selectItem) {<br />
&nbsp;&nbsp;&nbsp; this.selectItem = selectItem;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;private int&nbsp; selectItem=-1;<br />
&nbsp;}<br />
} <br />
</p>
<p><br />
android 自定义adapter extends BaseAdapter，做有自己布局的listView<br />
或：</p>
<p>siteListView.setOnItemClickListener(new OnItemClickListener() {<br />
&nbsp;&nbsp; @Override<br />
&nbsp;&nbsp;&nbsp; public void onItemClick(AdapterView&lt;?&gt; parent, View view,int position, long id) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;parent.getCount();i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View v=parent.getChildAt(parent.getCount()-1-i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (position == i) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.setBackgroundColor(Color.RED);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.setBackgroundColor(Color.TRANSPARENT);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
});</p>
<img src ="http://www.blogjava.net/zhip/aggbug/343512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-01-25 17:10 <a href="http://www.blogjava.net/zhip/archive/2011/01/25/343512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘]android 入门xml布局文件</title><link>http://www.blogjava.net/zhip/archive/2011/01/25/343511.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Tue, 25 Jan 2011 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2011/01/25/343511.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/343511.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2011/01/25/343511.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/343511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/343511.html</trackback:ping><description><![CDATA[<p>LinearLayout和RelativeLayout</p>
<p>共有属性：<br />
java代码中通过btn1关联次控件<br />
android:id="@+id/btn1"</p>
<p>控件宽度<br />
android:layout_width="80px"&nbsp;&nbsp;&nbsp; //"80dip"或"80dp"<br />
android:layout_width =&#8220;wrap_content&#8221;<br />
android:layout_width =&#8220;match_parent&#8221;&nbsp; </p>
<p>控件高度<br />
android:layout_height="80px"&nbsp;&nbsp;&nbsp; //"80dip"或"80dp"<br />
android:layout_height =&#8220;wrap_content&#8221;<br />
android:layout_height =&#8220;match_parent&#8221; </p>
<p>控件排布<br />
android:orientation="horizontal&#8221;<br />
android:orientation="vertical&#8220;</p>
<p>控件间距<br />
android:layout_marginLeft="5dip"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //距离左边<br />
android:layout_marginRight="5dip"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //距离右边<br />
android:layout_marginTop="5dip"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //距离上面<br />
android:layout_marginRight="5dip"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //距离下面</p>
<p>控件显示位置<br />
android:gravity="center"&nbsp;&nbsp;&nbsp; //left,right, top, bottom<br />
android:gravity="center_horizontal"</p>
<p>android:layout_gravity是本元素对父元素的重力方向。<br />
android:layout_gravity属性则设置控件本身相对于父控件的显示位置<br />
android:gravity是本元素所有子元素的重力方向。</p>
<p>android:layout_gravity="center_vertical"<br />
android:layout_gravity="left"<br />
android:layout_gravity="left|bottom"</p>
<p><br />
TextView中文本字体<br />
android:text="@String/text1"&nbsp;&nbsp;&nbsp; //在string.xml中定义text1的值<br />
android:textSize="20sp"<br />
android:textColor=&#8221;#ff123456&#8221;<br />
android:textStyle="bold"&nbsp;&nbsp;&nbsp; //普通（normal）， 斜体（italic），粗斜体（bold_italic）</p>
<p>定义控件是否可见<br />
android:visibility=&#8221;visible&#8221;&nbsp;&nbsp;&nbsp;&nbsp; //可见<br />
android:visibility=&#8221;invisible&#8221;　　//不可见，但是在布局中占用的位置还在<br />
android:visibility=&#8221;gone&#8221;　　　//不可见，完全从布局中消失</p>
<p>定义背景图片<br />
android:background="@drawable/img_bg"&nbsp;&nbsp;&nbsp; //img_bg为drawable下的一张图片</p>
<p>seekbar控件背景图片及最大值<br />
android:progressDrawable="@drawable/seekbar_img"&nbsp; <br />
android:thumb="@drawable/thumb"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
android:max = "60"</p>
<p>&nbsp;</p>
<p>仅在RelativeLayout中有效：<br />
在父亲布局的相对位置<br />
android:layout_alignParentLeft="true"&nbsp;&nbsp;&nbsp;&nbsp; //在布局左边<br />
android:layout_alignParentRight="true"&nbsp;&nbsp;&nbsp; //在布局右边<br />
android:layout_alignParentTop="true"&nbsp;&nbsp;&nbsp;&nbsp; //在布局上面<br />
android:layout_alignParentBottom="true "&nbsp; //在布局的下面</p>
<p>在某个控件的相对位置<br />
android:layout_toRightOf="@id/button1"&nbsp; //在控件button1的右边，不仅仅是紧靠着<br />
android:layout_toLeftOf="@id/button1"&nbsp;&nbsp; //在控件button2的左边，不仅仅是紧靠着<br />
android:layout_below="@id/button1 "&nbsp;&nbsp;&nbsp;&nbsp; //在控件button1下面，不仅仅是正下方<br />
android:layout_above=&#8220;@id/button1&#8221;&nbsp;&nbsp; //在控件button1下面,不仅仅是正下方</p>
<p>定义和某控件对奇<br />
android:layout_alignTop=&#8221;@id/button1&#8221;&nbsp; //和控件button1上对齐<br />
android:layout_alignBottom=&#8221;@id/button1&#8221;&nbsp; //和控件button1下对齐<br />
android:layout_alignLeft=&#8221;@id/button1&#8221;&nbsp; //和控件button1左对齐<br />
android:layout_alignRight=&#8221;@id/button1&#8221;&nbsp; //和控件button2右对齐</p>
<p><br />
android:layout_centerHorizontal="true"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //水平居中<br />
android:layout_centerVertical="true"<br />
android:layout_centerInParent="true" </p>
<p>仅在LinearLayout中有效<br />
设置控件在一排或一列中所占比例值<br />
android:layout_weight="1"</p>
<img src ="http://www.blogjava.net/zhip/aggbug/343511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2011-01-25 17:08 <a href="http://www.blogjava.net/zhip/archive/2011/01/25/343511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Microsoft Office Word 遇到问题需要关闭的解决方法</title><link>http://www.blogjava.net/zhip/archive/2010/12/06/339876.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Mon, 06 Dec 2010 01:29:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2010/12/06/339876.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/339876.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2010/12/06/339876.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/339876.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/339876.html</trackback:ping><description><![CDATA[<p>你遇到没遇到过&#8220;Microsoft Office Word 遇到问题需要关闭。我们对此引起的不便表示抱歉&#8221;的提示呢？然后有一个&#8220;恢复我的工作并重启 Microsoft Office Word&#8221;的选择框，并将此问题发送报告给Microsoft。如果你把选择了重新启动，就是一片空白；如果你把选择的&#8220;钩&#8221;去掉，就总是循环出现这个对话框。 而且修复、重新安装都不管用。&nbsp; <br />
　　一、可能是normal.dot模板损坏了。 </p>
<p>　　是一个自动保存模板，比如写着word文档时电脑非正常关机，再启动计算机后word会启动关机前保存的文档，使你的损失降为最低。（顺便说一句，word默认10分钟自动保存一次，我们可以到&#8220;工具/选项/保存&#8221;，将自动保存时间间隔修改为1分钟，这样可以把非正常关机引起的文档损失降为最小。） </p>
<p>　　解决办法： </p>
<p>　　1、删除你使用的用户名下的TEMP所有文件,OFFICE在你安装时的备份文件,清空所有系统的日记信息...也就是删除Normat.dot模板文件。 即删除G:\Documents and Settings\用户名\Application Data\Microsoft\Templates\Normal.dot文件； </p>
<p>　　2、点开始，在运行中输入&#8220;winword /a&#8221;可以启动word，此时不会有无法打开对话框出现，将word文档另存一下，会提示是否替换normal.dot，这时word用新的模板替换损坏的那个，选择是。这样word就可以正常启动了&#8230;&#8230; </p>
<p>　　二、可能是包含了OFFICE的错误信息，而注册表无法智能更新。 </p>
<p>　　解决办法： </p>
<p>　　1、进入控制面板的添加删除程序,WINDOWS组件,随便选择一个把打沟取消掉,确定,更新以后,在进入添加删除程序的WINDOWS组件,把打沟还原...再确定. <br />
作用是:当你在添加或者删除WINDOWS组件的时候,系统会自动更新注册表的内容,把错误信息删除,更新. <br />
　　(当然,WINDOWS优化大师的医生程序也可以删除非法注册表信息,但不及系统自己搞定.) </p>
<p>　　2、确认上面所有操作之后,你再重新安装OFFICE 。 </p>
<p>　　三、解决办法： </p>
<p>　　点开始，在运行中输入&#8220;winword /a&#8221;可以启动word，我们打开&#8220;工具/选项/常规&#8221;，找到&#8220;打开时更新自动方式的链接&#8221;这一选项，看见前面选择框里的对勾了吗？直接把它去掉就行了。保存退出。重新启动试一下，一切正常，OK！！！ </p>
<p>　　四、注意：有时可能通过上面的办法还是解决不了问题，这样的话，可能问题就出在输入法上了，主要是微软拼音3.0输入法，把它删除问题可以得到解决： </p>
<p>　　删除方法：控制面板---&gt; 区域和语言选项-----&gt;语言 -----&gt;详细信息，在已安装的服务中选中微软拼音3.0输入法，点右边的删除！！或可以用优化大师，兔子软件，360来删除。。。 </p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 五、解决方法： </p>
<p>&nbsp;&nbsp;&nbsp; word2003打开时提示.程序错误,word可以帮助你尝试修复错误.并提示发送错误,提示的标题是签名错误,PINTLGNT.IME出现错误,但是其他的office程序工作正常,经过反复的重装和修复以后,故障依然不能排除,查找发现PINTLGNT.IME文件是微软拼音输入法3.0的文件,在此之前我记得我曾经卸载过这个输入法.对于这个错误简直有点摸不着头脑.搜索了整个磁盘也没找个这个文件的踪影,搞得更是一头雾水.通过再次分析发现要想去掉这个注册可以运行regsvr32 /u PINTLGNT.IME.在运行里输入这个命令以后,提示成功.重新打开word问题已经排除.<br />
</p>
<img src ="http://www.blogjava.net/zhip/aggbug/339876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2010-12-06 09:29 <a href="http://www.blogjava.net/zhip/archive/2010/12/06/339876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ExtJs3.2.1日期时间控件。</title><link>http://www.blogjava.net/zhip/archive/2010/08/06/328113.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Fri, 06 Aug 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2010/08/06/328113.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/328113.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2010/08/06/328113.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/328113.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/328113.html</trackback:ping><description><![CDATA[ExtJs3.2.1日期时间控件。<a title="源代码" href="/Files/zhip/ext-datetime.rar">源码</a> <br />
效果如图：<br />
<img height="273" alt="" src="http://www.blogjava.net/images/blogjava_net/zhip/dt.JPG" width="240" border="0" /><br />
&nbsp;
 <img src ="http://www.blogjava.net/zhip/aggbug/328113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2010-08-06 11:33 <a href="http://www.blogjava.net/zhip/archive/2010/08/06/328113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java得到指定时间段中的所有周，以及每周的每天都是周一和日期是多少？</title><link>http://www.blogjava.net/zhip/archive/2010/04/08/317704.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Thu, 08 Apr 2010 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2010/04/08/317704.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/317704.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2010/04/08/317704.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/317704.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/317704.html</trackback:ping><description><![CDATA[java得到指定时间段中的所有周，以及每周的每天都是周几和日期是多少？<br />
<br />
第一周的开始一天不一定是周一，最后一周的结束一天也不一定是周日！&nbsp;<br />
<br />
<br />
<br />
&nbsp;public static void main(String[] args){<br />
&nbsp; <br />
&nbsp; Calendar c_begin = new GregorianCalendar();<br />
&nbsp;&nbsp;&nbsp;&nbsp; Calendar c_end = new GregorianCalendar();<br />
&nbsp;&nbsp;&nbsp;&nbsp; DateFormatSymbols dfs = new DateFormatSymbols(); <br />
&nbsp;&nbsp;&nbsp;&nbsp; String[] weeks = dfs.getWeekdays();<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; c_begin.set(2010, 3, 2); //Calendar的月从0-11，所以4月是3.<br />
&nbsp;&nbsp;&nbsp;&nbsp; c_end.set(2010, 4, 20); //Calendar的月从0-11，所以5月是4.<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; int count = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp; c_end.add(Calendar.DAY_OF_YEAR, 1);&nbsp; //结束日期下滚一天是为了包含最后一天<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; while(c_begin.before(c_end)){<br />
&nbsp;&nbsp; System.out.println("第"+count+"周&nbsp; 日期："+new java.sql.Date(c_begin.getTime().getTime())+", "+weeks[c_begin.get(Calendar.DAY_OF_WEEK)]);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(c_begin.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c_begin.add(Calendar.DAY_OF_YEAR, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
}
<img src ="http://www.blogjava.net/zhip/aggbug/317704.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2010-04-08 11:07 <a href="http://www.blogjava.net/zhip/archive/2010/04/08/317704.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle SQL性能优化</title><link>http://www.blogjava.net/zhip/archive/2009/09/01/293411.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Tue, 01 Sep 2009 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/09/01/293411.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/293411.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/09/01/293411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/293411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/293411.html</trackback:ping><description><![CDATA[<font color="#ff0000">（1）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择最有效率的表名顺序(只在基于规则的优化器中有效)：</font> ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名，FROM子句中写在最后的表(基础表 driving table)将被最先处理，在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. <br />
<font color="#ff0000">（2）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE子句中的连接顺序．：</font> ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. <br />
<font color="#ff0000">（3）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT子句中避免使用 &#8216; * &#8216;：</font> ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间<br />
<font color="#ff0000">（4）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 减少访问数据库的次数：</font> ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等；<br />
<font color="#ff0000">（5）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200</font> <br />
<font color="#ff0000">（6）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用DECODE函数来减少处理时间：</font>使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. <font color="#ff0000">（7）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 整合简单,无关联的数据库访问：</font>如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系) <br />
<font color="#ff0000">（8）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 删除重复记录：</font>最高效的删除重复记录方法 ( 因为使用了ROWID)例子： DELETE &nbsp;FROM &nbsp;EMP E &nbsp;WHERE &nbsp;E.ROWID &gt; (SELECT MIN(X.ROWID) <br />
FROM &nbsp;EMP X &nbsp;WHERE &nbsp;X.EMP_NO = E.EMP_NO); <br />
<font color="#ff0000">（9）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用TRUNCATE替代DELETE：</font>当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息. 如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况) 而当运用TRUNCATE时, 回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短. (译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML) <br />
<font color="#ff0000">（10）&nbsp;尽量多使用COMMIT：</font>只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为COMMIT所释放的资源而减少: <br />
COMMIT所释放的资源: <br />
a. 回滚段上用于恢复数据的信息. <br />
b. 被程序语句获得的锁 <br />
c. redo log buffer 中的空间 <br />
d. ORACLE为管理上述3种资源中的内部花费<br />
<font color="#f70909">（11）&nbsp;用Where子句替换HAVING子句</font>：避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销. (非oracle中)on、where、having这三个都可以加条件的子句中，on是最先执行，where次之，having最后，因为on是先把不符合条件的记录过滤后才进行统计，它就可以减少中间运算要处理的数据，按理说应该速度是最快的，where也应该比having快点的，因为它过滤数据后才进行sum，在两个表联接时才用on的，所以在一个表的时候，就剩下where跟having比较了。在这单表查询统计的情况下，如果要过滤的条件没有涉及到要计算字段，那它们的结果是一样的，只是where可以使用rushmore技术，而having就不能，在速度上后者要慢如果要涉及到计算的字段，就表示在没计算之前，这个字段的值是不确定的，根据上篇写的工作流程，where的作用时间是在计算之前就完成的，而having就是在计算后才起作用的，所以在这种情况下，两者的结果会不同。在多表联接查询时，on比where更早起作用。系统首先根据各个表之间的联接条件，把多个表合成一个临时表后，再由where进行过滤，然后再计算，计算完后再由having进行过滤。由此可见，要想过滤条件起到正确的作用，首先要明白这个条件应该在什么时候起作用，然后再决定放在那里<br />
<font color="#ff0000">（12）&nbsp;减少对表的查询</font>：在含有子查询的SQL语句中,要特别注意减少对表的查询.例子： &nbsp;&nbsp;&nbsp;&nbsp; SELECT &nbsp;TAB_NAME FROM TABLES WHERE (TAB_NAME,DB_VER) = ( SELECT TAB_NAME,DB_VER&nbsp;FROM &nbsp;TAB_COLUMNS &nbsp;WHERE &nbsp;VERSION = 604) <br />
<font color="#ff0000">（13）&nbsp;通过内部函数提高SQL效率.：</font>复杂的SQL往往牺牲了执行效率. 能够掌握上面的运用函数解决问题的方法在实际工作中是非常有意义的<br />
<font color="#ff0000">（14）&nbsp;使用表的别名(Alias)：</font>当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误. <br />
<font color="#ff0000">（15）&nbsp;用EXISTS替代IN、用NOT EXISTS替代NOT IN：</font>在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率. 在子查询中,NOT IN子句将执行一个内部的排序和合并. 无论在哪种情况下,NOT IN都是最低效的 (因为它对子查询中的表执行了一个全表遍历). 为了避免使用NOT IN ,我们可以把它改写成外连接(Outer Joins)或NOT EXISTS. 例子：（高效）SELECT * FROM &nbsp;EMP (基础表) &nbsp;WHERE &nbsp;EMPNO &gt; 0 &nbsp;AND &nbsp;EXISTS (SELECT &#8216;X' &nbsp;FROM DEPT &nbsp;WHERE &nbsp;DEPT.DEPTNO = EMP.DEPTNO &nbsp;AND &nbsp;LOC = &#8216;MELB') (低效)SELECT &nbsp;* FROM &nbsp;EMP (基础表) &nbsp;WHERE &nbsp;EMPNO &gt; 0 &nbsp;AND &nbsp;DEPTNO IN(SELECT DEPTNO &nbsp;FROM &nbsp;DEPT &nbsp;WHERE &nbsp;LOC = &#8216;MELB') <br />
<font color="#f70909">（16）&nbsp;识别'低效执行'的SQL语句：</font>虽然目前各种关于SQL优化的图形化工具层出不穷,但是写出自己的SQL工具来解决问题始终是一个最好的方法： SELECT &nbsp;EXECUTIONS , DISK_READS, BUFFER_GETS, <br />
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio, <br />
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run, <br />
SQL_TEXT <br />
FROM &nbsp;V$SQLAREA <br />
WHERE &nbsp;EXECUTIONS&gt;0 <br />
AND &nbsp;BUFFER_GETS &gt; 0 <br />
AND &nbsp;(BUFFER_GETS-DISK_READS)/BUFFER_GETS &lt; 0.8 <br />
ORDER BY &nbsp;4 DESC; <br />
<font color="#f70909">（17）&nbsp;用索引提高效率</font>：索引是表的一个概念部分,用来提高检索数据的效率，ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率. 另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证.。那些LONG或LONG RAW数据类型, 你可以索引几乎所有的列. 通常, 在大型表中使用索引特别有效. 当然,你也会发现, 在扫描小表时,使用索引同样能提高效率. 虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本身也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢.。定期的重构索引是有必要的.： ALTER &nbsp;INDEX &lt;INDEXNAME&gt; REBUILD &lt;TABLESPACENAME&gt; <br />
<font color="#ff0000">（18）&nbsp;用EXISTS替换DISTINCT</font>：当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换, EXISTS 使查询更为迅速,因为RDBMS核心模块将在子查询的条件一旦满足后,立刻返回结果. 例子： &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (低效): <br />
SELECT &nbsp;DISTINCT &nbsp;DEPT_NO,DEPT_NAME &nbsp;FROM &nbsp;DEPT D , EMP E WHERE &nbsp;D.DEPT_NO = E.DEPT_NO <br />
(高效): <br />
SELECT &nbsp;DEPT_NO,DEPT_NAME &nbsp;FROM &nbsp;DEPT D &nbsp;WHERE &nbsp;EXISTS ( SELECT &#8216;X' <br />
FROM &nbsp;EMP E &nbsp;WHERE&nbsp;E.DEPT_NO = D.DEPT_NO); <br />
<font color="#ff0000">（19）&nbsp;sql语句用大写的；</font>因为oracle总是先解析sql语句，把小写的字母转换成大写的再执行<br />
<font color="#ff0000">（20）&nbsp;在java代码中尽量少用连接符&#8220;＋&#8221;连接字符串！<br />
</font><font color="#ff0000">（21）&nbsp;避免在索引列上使用NOT</font> 通常，　我们要避免在索引列上使用NOT, NOT会产生在和在索引列上使用函数相同的影响. 当ORACLE&#8221;遇到&#8221;NOT,他就会停止使用索引转而执行全表扫描. <br />
<font color="#f70909">（22）&nbsp;避免在索引列上使用计算．</font><br />
WHERE子句中，如果索引列是函数的一部分．优化器将不使用索引而使用全表扫描． <br />
举例: <br />
低效： <br />
SELECT &#8230; FROM &nbsp;DEPT &nbsp;WHERE SAL * 12 &gt; 25000; <br />
高效: <br />
SELECT &#8230; FROM DEPT WHERE SAL &gt; 25000/12; <br />
<font color="#f70909">（23）&nbsp;用&gt;=替代&gt; 高效: <br />
</font>SELECT * FROM &nbsp;EMP &nbsp;WHERE &nbsp;DEPTNO &gt;=4 <br />
低效: <br />
SELECT * FROM EMP WHERE DEPTNO &gt;3 <br />
两者的区别在于, 前者DBMS将直接跳到第一个DEPT等于4的记录而后者将首先定位到DEPTNO=3的记录并且向前扫描到第一个DEPT大于3的记录. <br />
（24）<font color="#f70909">&nbsp;用UNION替换OR</font> (适用于索引列) 通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR将造成全表扫描. 注意, 以上规则只针对多个索引列有效. 如果有column没有被索引, 查询效率可能会因为你没有选择OR而降低. 在下面的例子中, LOC_ID 和REGION上都建有索引. <br />
高效: <br />
SELECT LOC_ID , LOC_DESC , REGION <br />
FROM LOCATION <br />
WHERE LOC_ID = 10 <br />
UNION <br />
SELECT LOC_ID , LOC_DESC , REGION <br />
FROM LOCATION <br />
WHERE REGION = &#8220;MELBOURNE&#8221; <br />
低效: <br />
SELECT LOC_ID , LOC_DESC , REGION <br />
FROM LOCATION <br />
WHERE LOC_ID = 10 OR REGION = &#8220;MELBOURNE&#8221; <br />
如果你坚持要用OR, 那就需要返回记录最少的索引列写在最前面. <br />
（25）&nbsp;<font color="#f70909">用IN来替换OR</font> &nbsp; 这是一条简单易记的规则，但是实际的执行效果还须检验，在ORACLE8i下，两者的执行路径似乎是相同的．　低效: <br />
SELECT&#8230;. FROM LOCATION WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30 <br />
高效 <br />
SELECT&#8230; FROM LOCATION WHERE LOC_IN &nbsp;IN (10,20,30); <br />
（26）<font color="#ff0000">&nbsp;避免在索引列上使用IS NULL和IS NOT NULL 避免在索引中使用任何可以为空的列，ORACLE将无法使用该索引．对于单列索引，如果列包含空值，索引中将不存在此记录. 对于复合索引，如果每个列都为空，索引中同样不存在此记录.　如果至少有一个列不为空，则记录存在于索引中．举例: 如果唯一性索引建立在表的A列和B列上, 并且表中存在一条记录的A,B值为(123,null) , ORACLE将不接受下一条具有相同A,B值（123,null）的记录(插入). 然而如果所有的索引列都为空，ORACLE将认为整个键值为空而空不等于空. 因此你可以插入1000 条具有相同键值的记录,当然它们都是空! 因为空值不存在于索引列中,所以WHERE子句中对索引列进行空值比较将使ORACLE停用该索引. 低效: (索引失效) <br />
</font>SELECT &#8230; FROM &nbsp;DEPARTMENT &nbsp;WHERE &nbsp;DEPT_CODE IS NOT NULL; <br />
高效: (索引有效) <br />
SELECT &#8230; FROM &nbsp;DEPARTMENT &nbsp;WHERE &nbsp;DEPT_CODE &gt;=0; <br />
（27）&nbsp;<font color="#ff0000">总是使用索引的第一个列</font>：如果索引是建立在多个列上, 只有在它的第一个列(leading column)被where子句引用时,优化器才会选择使用该索引. 这也是一条简单而重要的规则，当仅引用索引的第二个列时,优化器使用了全表扫描而忽略了索引<br />
（28）&nbsp;<font color="#f70909">用UNION-ALL 替换UNION ( 如果有可能的话)</font>：当SQL语句需要UNION两个查询结果集合时,这两个结果集合会以UNION-ALL的方式被合并, 然后在输出最终结果前进行排序. 如果用UNION ALL替代UNION, 这样排序就不是必要了. 效率就会因此得到提高. 需要注意的是，UNION ALL 将重复输出两个结果集合中相同记录. 因此各位还是要从业务需求分析使用UNION ALL的可行性. UNION 将对结果集合排序,这个操作会使用到SORT_AREA_SIZE这块内存. 对于这块内存的优化也是相当重要的. 下面的SQL可以用来查询排序的消耗量低效： <br />
SELECT &nbsp;ACCT_NUM, BALANCE_AMT <br />
FROM &nbsp;DEBIT_TRANSACTIONS <br />
WHERE TRAN_DATE = '31-DEC-95' <br />
UNION <br />
SELECT ACCT_NUM, BALANCE_AMT <br />
FROM DEBIT_TRANSACTIONS <br />
WHERE TRAN_DATE = '31-DEC-95' <br />
高效: <br />
SELECT ACCT_NUM, BALANCE_AMT <br />
FROM DEBIT_TRANSACTIONS <br />
WHERE TRAN_DATE = '31-DEC-95' <br />
UNION ALL <br />
SELECT ACCT_NUM, BALANCE_AMT <br />
FROM DEBIT_TRANSACTIONS <br />
WHERE TRAN_DATE = '31-DEC-95' <br />
<font color="#ee3d11">（29）</font><font color="#ff0000">&nbsp;用WHERE替代ORDER BY</font>： ORDER BY 子句只在两种严格的条件下使用索引. <br />
ORDER BY中所有的列必须包含在相同的索引中并保持在索引中的排列顺序. <br />
ORDER BY中所有的列必须定义为非空. <br />
WHERE子句使用的索引和ORDER BY子句中所使用的索引不能并列. 例如: <br />
表DEPT包含以下列: <br />
DEPT_CODE PK NOT NULL <br />
DEPT_DESC NOT NULL <br />
DEPT_TYPE NULL 低效: (索引不被使用) <br />
SELECT DEPT_CODE&nbsp;FROM &nbsp;DEPT &nbsp;ORDER BY &nbsp;DEPT_TYPE <br />
高效: (使用索引) <br />
SELECT DEPT_CODE &nbsp;FROM &nbsp;DEPT &nbsp;WHERE &nbsp;DEPT_TYPE &gt; 0 <br />
<font color="#f73809">（30）</font>&nbsp;<font color="#ff3300">避免改变索引列的类型.:</font> 当比较不同数据类型的数据时, ORACLE自动对列进行简单的类型转换. 假设 EMPNO是一个数值类型的索引列. <br />
SELECT &#8230; &nbsp;FROM EMP &nbsp;WHERE &nbsp;EMPNO = &#8216;123' <br />
实际上,经过ORACLE类型转换, 语句转化为: <br />
SELECT &#8230; &nbsp;FROM EMP &nbsp;WHERE &nbsp;EMPNO = TO_NUMBER(&#8216;123') <br />
幸运的是,类型转换没有发生在索引列上,索引的用途没有被改变. <br />
现在,假设EMP_TYPE是一个字符类型的索引列. <br />
SELECT &#8230; &nbsp;FROM EMP &nbsp;WHERE EMP_TYPE = 123 <br />
这个语句被ORACLE转换为: <br />
SELECT &#8230; &nbsp;FROM EMP &nbsp;WHERETO_NUMBER(EMP_TYPE)=123 <br />
因为内部发生的类型转换, 这个索引将不会被用到! 为了避免ORACLE对你的SQL进行隐式的类型转换, 最好把类型转换用显式表现出来. 注意当字符和数值比较时, ORACLE会优先转换数值类型到字符类型<br />
<font color="#f70909">（31）</font>&nbsp;<font color="#ff0000">需要当心的WHERE子句:</font> 某些SELECT 语句中的WHERE子句不使用索引. 这里有一些例子. <br />
在下面的例子里, (1)&#8216;!=' 将不使用索引. 记住, 索引只能告诉你什么存在于表中, 而不能告诉你什么不存在于表中. (2) &#8216;||'是字符连接函数. 就象其他函数那样, 停用了索引. (3) &#8216;+'是数学函数. 就象其他数学函数那样, 停用了索引. (4)相同的索引列不能互相比较,这将会启用全表扫描. <br />
<font color="#ff0000">（32）&nbsp;a. 如果检索数据量超过30%的表中记录数.使用索引将没有显著的效率提高.</font> <br />
b. 在特定情况下, 使用索引也许会比全表扫描慢, 但这是同一个数量级上的区别. 而通常情况下,使用索引比全表扫描要块几倍乃至几千倍! <br />
<font color="#ff0000">（33）&nbsp;避免使用耗费资源的操作:</font> 带有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL语句会启动SQL引擎 <br />
执行耗费资源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要执行两次排序. 通常, 带有UNION, MINUS , INTERSECT的SQL语句都可以用其他方式重写. 如果你的数据库的SORT_AREA_SIZE调配得好, 使用UNION , MINUS, INTERSECT也是可以考虑的, 毕竟它们的可读性很强<br />
<font color="#ff0000">（34）&nbsp;优化GROUP BY:</font> 提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉.下面两个查询返回相同结果但第二个明显就快了许多. 低效: <br />
SELECT JOB , AVG(SAL) <br />
FROM EMP <br />
GROUP JOB <br />
HAVING JOB = &#8216;PRESIDENT' <br />
OR JOB = &#8216;MANAGER' <br />
高效: <br />
SELECT JOB , AVG(SAL) <br />
FROM EMP <br />
WHERE JOB = &#8216;PRESIDENT' <br />
OR JOB = &#8216;MANAGER' <br />
GROUP JOB&nbsp;
<style type="text/css">.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }
body{boder:0px}</style>
<style type="text/css">.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#F3F3F3 }
body{boder:0px}</style>
<img src ="http://www.blogjava.net/zhip/aggbug/293411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-09-01 10:36 <a href="http://www.blogjava.net/zhip/archive/2009/09/01/293411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过网页修改activex安全设置，添加信任站点，禁用弹出窗口阻止程序</title><link>http://www.blogjava.net/zhip/archive/2009/07/05/285521.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Sat, 04 Jul 2009 18:38:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/07/05/285521.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/285521.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/07/05/285521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/285521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/285521.html</trackback:ping><description><![CDATA[<p><font face="新宋体" color="#000000">信任站点的注册表项</font></p>
<p><font face="新宋体" color="#000000">HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range[*]</font></p>
<p><font color="#000000">ActiveX的注册表项</font></p>
<p><font color="#000000">HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\[0-4]\[*]</font></p>
<p><font color="#000000">[0-4]</font></p>
<p><font color="#000000">值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置<br />
------------------------------<br />
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我的电脑<br />
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本地 Intranet 区域<br />
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 受信任的站点区域<br />
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Internet 区域<br />
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 受限制的站点区域</font></p>
<p><font color="#000000">[*]</font></p>
<p><font color="#000000">1001&nbsp;&nbsp;&nbsp;&nbsp; 下载已签名的 ActiveX 控件<br />
1004&nbsp;&nbsp;&nbsp;&nbsp; 下载未签名的 ActiveX 控件<br />
1200&nbsp;&nbsp;&nbsp;&nbsp; 运行 ActiveX 控件和插件<br />
1201&nbsp;&nbsp;&nbsp;&nbsp; 对没有标记为安全的 ActiveX 控件进行初始化和脚本运行<br />
1405&nbsp;&nbsp;&nbsp;&nbsp; 对标记为可安全执行脚本的 ActiveX 控件执行脚本<br />
2201&nbsp;&nbsp;&nbsp;&nbsp; ActiveX 控件自动提示 **</font></p>
<p><font color="#000000">弹出窗口阻止程序<font face="新宋体">的注册表项</font></font></p>
<p><font face="新宋体" color="#000000">HKEY_CURRENT_USERHKCU\Software\Microsoft\Internet Explorer\New Windows\PopupMgr</font></p>
<p><font color="#000000">具体脚本如下:<br />
<br />
</p>
<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
var WshShell=new ActiveXObject("WScript.Shell");<br />
//添加信任站点ip<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\","");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\http","2","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Ranges\\Range100\\:Range","192.168.1.5");<br />
//修改IE ActiveX安全设置 1本地 Intranet 区域2受信任的站点区域3Internet 区域<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1001","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1004","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1200","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1201","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1405","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\2201","0","REG_DWORD");</p>
<p>WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1001","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1004","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1200","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1201","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1405","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\2201","0","REG_DWORD");</p>
<p>WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1001","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1004","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1200","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1201","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1405","0","REG_DWORD");<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\2201","0","REG_DWORD");<br />
//禁用Winxp弹出窗口阻止程序<br />
WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\New Windows\\PopupMgr","no");<br />
//--&gt;<br />
&lt;/SCRIPT&gt;</font></p>
<img src ="http://www.blogjava.net/zhip/aggbug/285521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-07-05 02:38 <a href="http://www.blogjava.net/zhip/archive/2009/07/05/285521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【已解决】Webloigc92 报下面的错误，有知道的大侠指点一下啊，谢谢。急急~~</title><link>http://www.blogjava.net/zhip/archive/2009/07/03/285298.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Fri, 03 Jul 2009 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/07/03/285298.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/285298.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/07/03/285298.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/285298.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/285298.html</trackback:ping><description><![CDATA[<p><br />
Webloigc92 报下面的错误，有知道的大侠指点一下啊，谢谢。急急~~</p>
<p><br />
&lt;2009-7-3 上午09时36分23秒 CST&gt; &lt;Error&gt; &lt;HTTP&gt; &lt;BEA-101019&gt; &lt;[weblogic.servlet.internal.WebAppServletContext@5d7554 - appName: 'traffic', name: 'WebRoot', </p>
<p>context-path: ''] Servlet failed with IOException <br />
java.io.IOException: failed to read '2' bytes from InputStream; clen: 6016 remaining: 2 count: 6014 <br />
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:417) <br />
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:168) <br />
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:498) <br />
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:486) <br />
at weblogic.servlet.FileServlet.sendFile(FileServlet.java:405) <br />
Truncated. see log file for complete stacktrace <br />
&gt; </p>
<p><br />
是不是下面的代码有什么问题？ <br />
InputStream fis = null; <br />
BufferedOutputStream bos = null; <br />
try { <br />
String dpId = session.getAttribute("dp_id")==null?"":session.getAttribute("dp_id").toString(); <br />
String nameReport=request.getParameter("nameReport"); <br />
String workbook = request.getParameter("workbook"); <br />
if(workbook==null || "".equals(workbook)){ <br />
workbook = session.getAttribute("dp_id").toString(); <br />
} <br />
String tempworkbook = workbook +"/"; <br />
tempworkbook = tempworkbook.replaceAll("主工作薄/",dpId+"/"); <br />
if(tempworkbook.endsWith("/")){ <br />
tempworkbook = tempworkbook.substring(0,tempworkbook.length()-1); <br />
} <br />
fis = request.getInputStream(); <br />
bos = new BufferedOutputStream(new FileOutputStream(new File(strAbsPath+"workbookspace\\"+tempworkbook+"\\"+nameReport+".cll"))); <br />
int b = fis.read(); <br />
while (b != -1) { <br />
bos.write(b); <br />
b = fis.read(); <br />
} <br />
}catch (Exception e) { <br />
e.printStackTrace(); <br />
}finally{ <br />
bos.flush(); <br />
bos.close(); <br />
fis.close(); <br />
bos = null; <br />
fis = null; <br />
}<br />
<br />
原因：因为workbook路径中包含了空格。</p>
 <img src ="http://www.blogjava.net/zhip/aggbug/285298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-07-03 10:44 <a href="http://www.blogjava.net/zhip/archive/2009/07/03/285298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache与WebLogic、IIS整合配置</title><link>http://www.blogjava.net/zhip/archive/2009/04/16/265888.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Wed, 15 Apr 2009 17:07:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/04/16/265888.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/265888.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/04/16/265888.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/265888.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/265888.html</trackback:ping><description><![CDATA[<p>WebLogic Server 9.2，Apache HTTP Server 2.0（apache_2.0.63-win32-x86-openssl-0.9.7m.msi）</p>
<p>Step1，安装WebLogic和Apache，这自然就不必说了，但要提醒大家，装WebLogic的时候，要用custome方式，将plugin勾上，否则呆会儿你会找不到Apache需要的文件。</p>
<p>Step2，复制文件，以我机器上安装的实际路径为例：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将C:\bea\weblogic92\server\plugin\win\32目录下的mod_wl_20.so文件复制到<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Program Files\Apache Group\Apache2\modules这个目录下。</p>
<p>Step3，修改Apache的httpd.conf文件，增加如下内容：<br />
LoadModule weblogic_module modules/mod_wl_20.so<br />
&lt;IfModule mod_weblogic.c&gt;<br />
&nbsp;&nbsp; Include conf/Weblogic.conf<br />
&lt;/IfModule&gt;</p>
<p>Step4，在httpd.conf相同的目录下增加文件 Weblogic.conf(这个文件就是第3步中定义的文件)，内容如下：<br />
# Weblogic.conf file<br />
WebLogicHost localhost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #看看这里，我们的Apache也可以不跟WebLogic装同一台机器上的<br />
WebLogicPort 7001<br />
MatchExpression / #比如这是WebLogic上发布的应用的Web Root<br />
MatchExpression *.jsp<br />
MatchExpression *.do<br />
WLLogFile /tmp/wlproxy.log<br />
注意，这个文件里面最好不要有多余的空格之类的东西，否则Apache启动时可能报错。</p>
<p>Step5，重启Apache，测试。<br />
<br />
整合IIS：<br />
&nbsp;&nbsp;&nbsp; 第一步，修改apache的http.conf在其加载下面模块；去掉下面模块前的#<br />
&nbsp;&nbsp;&nbsp;&nbsp; LoadModule proxy_module modules/mod_proxy.so<br />
&nbsp;&nbsp;&nbsp;&nbsp; LoadModule proxy_connect_module modules/mod_proxy_connect.so<br />
&nbsp;&nbsp;&nbsp;&nbsp; LoadModule proxy_ftp_module modules/mod_proxy_ftp.so<br />
&nbsp;&nbsp;&nbsp;&nbsp; LoadModule proxy_http_module modules/mod_proxy_http.so<br />
&nbsp;第二步，修改apache的http.conf在其加入<br />
NameVirtualHost *:80<br />
&lt;VirtualHost *:80&gt;<br />
&nbsp;&nbsp;&nbsp; ProxyPreserveHost On<br />
&nbsp;&nbsp;&nbsp; ServerName www.xjzyaq.com<br />
&nbsp;&nbsp;&nbsp; ProxyPass / http://203.171.230.103:7001/&nbsp; <br />
&nbsp;&nbsp;&nbsp; ProxyPassReverse / http://203.171.230.103:7001/<br />
&lt;/VirtualHost&gt;<br />
&lt;VirtualHost *:80&gt;<br />
&nbsp;&nbsp;&nbsp; ProxyPreserveHost On<br />
&nbsp;&nbsp;&nbsp; ServerName mail.xjzyaq.com<br />
&nbsp;&nbsp;&nbsp; ProxyPass / http://203.171.230.103:81/&nbsp; <br />
&nbsp;&nbsp;&nbsp; ProxyPassReverse / http://203.171.230.103:81/<br />
&lt;/VirtualHost&gt;<br />
&lt;VirtualHost *:80&gt;<br />
&nbsp;&nbsp;&nbsp; ProxyPreserveHost On<br />
&nbsp;&nbsp;&nbsp; ServerName www.xjzyaq.cn<br />
&nbsp;&nbsp;&nbsp; ProxyPass / http://203.171.230.103:82/<br />
&nbsp;&nbsp;&nbsp; ProxyPassReverse / http://203.171.230.103:82/<br />
&lt;/VirtualHost&gt;</p>
<img src ="http://www.blogjava.net/zhip/aggbug/265888.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-04-16 01:07 <a href="http://www.blogjava.net/zhip/archive/2009/04/16/265888.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>由于这台计算机没有终端服务器客户端访问许可证，远程会话被中断。请跟服务器管理员联系。</title><link>http://www.blogjava.net/zhip/archive/2009/03/26/262133.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Thu, 26 Mar 2009 07:42:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/03/26/262133.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/262133.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/03/26/262133.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/262133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/262133.html</trackback:ping><description><![CDATA[由于windows2003默认仅支持2个终端用户的登陆。当&#8220;终端连接超出了最大连接&#8221;的情况出现导致不能登录时，可以：
<p>1、在另外一台Windows2003的机器上运行&#8220;tsmmc.msc&#8221;，打开远程桌面连接，添加一个新的连接，输入远程服务器的IP地址、远程登录帐号和密码，登录到远程服务器桌面。这个方式可以随时登录到远程桌面。</p>
<p>2、在登录出问题的服务器上， 单击&#8220;开始&#8221;，指向&#8220;管理工具&#8221;，然后单击&#8220;终端服务配置&#8221;。</p>
<p>3、 单击&#8220;服务器设置&#8221;，然后双击&#8220;授权模式&#8221;。</p>
<p>4、将&#8220;授权模式&#8221;更改为&#8220;每用户&#8221;，然后单击&#8220;确定&#8221;。 以后就不会出现此类问题了。</p>
<p>原因：Window Server 2003 不管理&#8220;用户 CAL&#8221;。这就是说，即使许可证服务器数据库中有一个&#8220;用户 CAL&#8221;，它在被使用时也不会减少。这样就不会为了让每个用户都有一个有效的终端服务器 (TS) CAL 而根据&#8220;最终用户许可协议&#8221;(EULA) 的要求删除管理员。在没有使用&#8220;设备 CAL&#8221;的情况下，如果不是每个用户都有一个&#8220;用户 CAL&#8221;，就会违反 EULA。</p>
<img src ="http://www.blogjava.net/zhip/aggbug/262133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-03-26 15:42 <a href="http://www.blogjava.net/zhip/archive/2009/03/26/262133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修改Oracle最大远程链接数的方法</title><link>http://www.blogjava.net/zhip/archive/2009/03/18/260580.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Wed, 18 Mar 2009 12:14:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2009/03/18/260580.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/260580.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2009/03/18/260580.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/260580.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/260580.html</trackback:ping><description><![CDATA[<p>1、以sysdba身份登陆PL/SQL 或者 Worksheet<br />
2、查询目前链接数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; show parameter open_links;<br />
3、更改链接数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alter system set open_links=30 scope=spfile;<br />
4、重启Oracle服务或重启Oracle服务器</p>
<p>&nbsp;</p>
 <img src ="http://www.blogjava.net/zhip/aggbug/260580.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2009-03-18 20:14 <a href="http://www.blogjava.net/zhip/archive/2009/03/18/260580.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>免费搜索引擎登陆入口</title><link>http://www.blogjava.net/zhip/archive/2008/10/06/232786.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Mon, 06 Oct 2008 15:24:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2008/10/06/232786.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/232786.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2008/10/06/232786.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/232786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/232786.html</trackback:ping><description><![CDATA[<table cellspacing="0" bordercolordark="#ffffff" cellpadding="3" width="700" align="center" bgcolor="#ffffec" bordercolorlight="#ff9933" border="1">
    <tbody>
        <tr>
            <td style="font-size: 14px; color: #ff0000" valign="middle" align="center" width="700" bgcolor="#ffffcc" colspan="4"><strong>免费搜索引擎登陆入口</strong></td>
        </tr>
        <tr>
            <td width="700" height="20"><a href="http://www.mylove19.com/user/reg.asp" target="_blank"><font color="green">同城网站联盟免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://service.chinasearch.com.cn/web/frontward/free/free_protocol.htm" target="_blank"><font color="green">中国搜索同盟免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.baidu.com/search/url_submit.htm" target="_blank"><font color="green">百度免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://bizsite.sina.com.cn/newbizsite/docc/index-2jifu-09.htm" target="_blank"><font color="green">新浪免费登录入口</font></a></td>
        </tr>
        <tr>
            <td width="700" height="20"><a href="http://db.sohu.com/regurl/regform.asp?Step=REGFORM&amp;class=" target="_blank"><font color="green">搜狐免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.qiandu.com/search/default.asp" target="_blank"><font color="green">千度免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://bingle.pku.edu.cn/submit.htm" target="_blank"><font color="green">天网免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.beebell.com/add.asp" target="_blank"><font color="green">[站长家园]网站登录</font></a></td>
        </tr>
        <tr>
            <td width="700" height="20"><a href="http://seek.163.com/cgi-bin/search/add_url.cgi" target="_blank"><font color="green">网易免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://cn.yahoo.com/docs/info/suggest.html" target="_blank"><font color="green">雅虎免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.google.com/intl/zh-CN/add_url.html" target="_blank"><font color="green">Google免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://202.108.33.161/web/frontward/free/free_speedlogin.asp" target="_blank"><font color="green">慧聪行业免费登录入口</font></a></td>
        </tr>
        <tr>
            <td width="700" height="20"><a href="http://202.84.11.68:66/web/frontward/free/free_search.asp" target="_blank"><font color="green">中华网免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.beijixing.com.cn/bjx01/search/regi_1.asp" target="_blank"><font color="green">北极星免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.alltheweb.com/add_url.php" target="_blank"><font color="green">alltheweb免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.shop1001.com/reg.asp" target="_blank"><font color="#ff0000">SHOP1001免费登录入口</font></a></td>
        </tr>
        <tr>
            <td width="700" height="22"><a href="http://search.sobao.com/Computers_and_Internet/Personal/" target="_blank"><font color="green">搜豹免费登录入口</font></a></td>
            <td width="25%" height="22"><a href="http://search.focus.com.cn/search/search_newurl_register.ecgi" target="_blank"><font color="green">焦点网免费登录入口</font></a></td>
            <td width="25%" height="22"><a href="http://www.wjcyc.com/odp/" target="_blank"><font color="#ff0000">ODP分类目录免费入口</font></a></td>
            <td width="25%" height="22">
            <p align="left"><a href="http://www.net2asp.com.cn/search/regform.htm" target="_blank"><font color="green">协通免费登录入口</font></a></p>
            </td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.168world.com/cgi-bin/link2000/link.cgi?id=dprk&amp;a_method=write" target="_blank"><font color="green">朝鲜迷免费登录入口</font></a></td>
            <td height="20"><a href="http://www.law-lib.com/lawseek/wzdl.asp" target="_blank"><font color="green">法律网免费登录入口</font></a></td>
            <td height="20"><a href="http://search.inhe.net/navigate.asp" target="_blank"><font color="green">银河免费登录入口</font></a></td>
            <td height="20"><a href="http://www.ku68.com/home/webreg.asp" target="_blank"><font color="green">酷亿免费登录入口</font></a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.xxsl.net/regsta1.asp?sortid=153" target="_blank"><font color="green">星星免费登录入口</font></a></td>
            <td height="20"><a href="http://www.wzonline.com.cn/search/login.php3" target="_blank"><font color="green">温州信息港免费登录入口</font></a></td>
            <td height="20"><a href="http://www.china-holiday.com/newterms/hall/it/sort.asp?sortid=259" target="_blank"><font color="green">中国假日免费登录入口</font></a></td>
            <td height="20"><a href="http://drckness.jahee.com/free/kulink.asp" target="_blank"><font color="green">y4免费登录入口</font></a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.cnjjl.com/other/" target="_blank"><font color="green">建设免费登录入口</font></a></td>
            <td height="20"><a href="http://yj001.com/addme.htm" target="_blank"><font color="green">数字免费登录入口</font></a></td>
            <td height="20"><a href="http://www.8eee.com/wzdl_sy.asp" target="_blank"><font color="green">天下免费登录入口</font></a></td>
            <td height="20"><a href="http://211.99.40.148/html/gsjj_wzdl.htm" target="_blank"><font color="green">维华免费登录入口</font></a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://sosoo.cnool.net/intro.asp" target="_blank"><font color="green">搜鼠免费登录入口</font></a></td>
            <td height="20"><a href="http://www.ulika.com/linkaddr/welcome.asp" target="_blank"><font color="green">尤里卡免费登录入口</font></a></td>
            <td height="20"><a href="http://wangjianran.com/aiyaner/geren.htm" target="_blank"><font color="green">爱艳儿免费登录入口</font></a><a href="http://dir.vipcn.com/updata_siteinfo.asp" target="_blank"></a></td>
            <td height="20"><a href="http://www.shanxi.net.cn/sxhulian/addcate.asp" target="_blank"><font color="green">山西互连网免费登录入口</font></a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.l3info.com/searchengine/loginnet.asp" target="_blank"><font color="green">蓝山免费登录入口</font></a></td>
            <td height="20"><a href="http://www.jc.gov.cn/userlink/useraddlink.htm" target="_blank"><font color="green">阳光免费登录入口</font></a></td>
            <td height="20"><a href="http://search.168yx.com/add.php" target="_blank"><font color="green">商情168搜索引擎免费登陆入口</font></a></td>
            <td height="20"><a href="http://itsearch.ccidnet.com/appl/appl_xz.htm" target="_blank"><font color="green">赛迪免费登录入口</font></a></td>
        </tr>
        <tr>
            <td width="700" height="20"><a href="http://search.1608.com/addu.cgi" target="_blank"><font color="green">1608搜网免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.china168.com/chaoshi/it/regsta1.asp?sortid=242" target="_blank"><font color="green">中国168免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://www.cncar.net/search/addsite.asp" target="_blank"><font color="green">中国车网免费登录入口</font></a></td>
            <td width="25%" height="20"><a href="http://ep.sunup.net/add.php" target="_blank"><font color="green">绿界免费登录入口</font></a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.6128.cn/add.htm" target="_blank">6128搜索引擎免费登陆入口</a></td>
            <td height="20"><a href="http://www.360hang.com/" target="_blank">三百六十行在线登陆入口</a></td>
            <td height="20"><a href="http://www.wingin.com/winginsystem/winginsearch/regone.asp" target="_blank">网据信息登陆入口 </a></td>
            <td height="20"><a href="http://www.net7b.com/net7b_site/denglu/index.asp">网络奇兵登陆入口</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.szfox.com/search/" target="_blank">深圳网狐登陆入口</a></td>
            <td height="20"><a href="http://beat.baieji.com/sort.asp?sortid=55" target="_blank">中国白垩纪网搜索引擎登陆</a></td>
            <td height="20"><a href="http://www.gotofind.com/opendir/" target="_blank">亦凡信息娱乐网络－亦凡搜索 </a></td>
            <td height="20"><a href="http://itsearch.ccidnet.com/appl/appl_xz_1.htm" target="_blank">赛迪网IT罗盘--新站登录</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.cynhk.com/autolink/autolink.asp?typename=&amp;page=27" target="_blank">旅游云南友情链接登陆</a></td>
            <td height="20"><a href="http://www.sunwukong.cn/add.php" target="_blank">孙悟空免费登录入口</a></td>
            <td height="20"><a href="http://www.owlchina.com/publish.asp?l=pub">猫头鹰</a></td>
            <td height="20"><a href="http://www.china-holiday.com/newterms/hall/it/sort.asp" target="_blank">中国假日免费登录入口</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.kuaisou.com/main/inputweb.asp" target="_blank">快搜搜索引擎</a></td>
            <td height="20"><a href="http://www.163.jss.cn/add.asp%20" target="_blank">新起点网址大全入口</a></td>
            <td height="20"><a href="http://search.66ip.com/tx/add_url.htm" target="_blank">热度搜索引擎免费登录入口</a></td>
            <td height="20"><a href="http://www.mylove19.com/add.asp" target="_blank">中国同城网站联盟免费入口</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www2d.biglobe.ne.jp/~kinryou/cgi/url.html" target="_blank">凯希</a></td>
            <td height="20"><a href="http://www.gdjs.com.cn/Yellowpage/YP_GB/default.asp" target="_blank">启威电子商城平台</a></td>
            <td height="20"><a href="http://www.zhao5.com/deng_9.htm" target="_blank">zhao5.com登陆入口 </a></td>
            <td height="20"><a href="http://www.cnham.net/sosuo/" target="_blank">火腿之家搜索引擎</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.abcnet.cn/search/" target="_blank">ABC互联登陆入口 </a></td>
            <td height="20"><a href="http://www.889889.com/tuijian/tuijian.asp" target="_blank">889889网址登陆</a></td>
            <td height="20"><a href="http://www.6mj.com/search/" target="_blank">天上人间中文搜索引擎 </a></td>
            <td height="20"><a href="http://www.shengdarealestate.com.cn/search/sort.asp?sortid=37" target="_blank">企业搜索引擎</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.ebsee.com/" target="_blank">商务观察网登陆入口 </a></td>
            <td height="20"><a href="http://www.tedanet.com/search/index.asp" target="_blank">泰达搜索引擎</a></td>
            <td height="20"><a href="http://www.ok1490.com/" target="_blank">一试就灵免费登陆 </a></td>
            <td height="20"><a href="http://www.mssky.com/search/default.asp" target="_blank">启航网搜索引擎 </a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.1sou.com/site/" target="_blank">一搜 </a></td>
            <td height="20"><a href="http://www.2002dy.net/search/" target="_blank">鼎元搜索精灵 </a></td>
            <td height="20"><a href="http://www.shalala.net/" target="_blank">shalala搜索引擎 </a></td>
            <td height="20"><a href="http://search.0577.com/" target="_blank">温州城市网网站登录 </a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.ximeet.com/link/" target="_blank">相逢网自助连接</a></td>
            <td height="20"><a href="http://dir.haodx.com/computer/internet/search/search_egines/" target="_blank">好东西网址登陆 </a></td>
            <td height="20"><a href="http://www.88seek.com/url_reg.asp" target="_blank">88seek登陆入口</a></td>
            <td height="20"><a href="http://www.wtoit.com/" target="_blank">向荣电子商务网</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.nbmk8.com/c3/index.asp" target="_blank">工程造价信息自助连接</a></td>
            <td height="20"><a href="http://www.cipan.com.cn/link/index.asp" target="_blank">CIPAN自助连接</a></td>
            <td height="20"><a href="http://eduing.org/links/kulink.asp" target="_blank">教学资源网自助连接</a></td>
            <td height="20"><a href="http://818com.com/link1/" target="_blank">818com自助连接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://amateur.lamost.org/xkcq/mf/link/link.php?" target="_blank">风中男孩之自助连接</a></td>
            <td height="20"><a href="http://www.law200.com/link/FriendSite.asp" target="_blank">郑章军律师网自助连接</a></td>
            <td height="20"><a href="http://www.cpi.com.cn/mylink/friend.asp" target="_blank">中国集邮自助连接</a></td>
            <td height="20"><a href="http://www.cnjade.biz/link/" target="_blank">中华玉网自助连接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.ejobshow.com/global_selflink.php" target="_blank">e职独秀人才网自助链接</a></td>
            <td height="20"><a href="http://www.1840cn.com/link/freelink.asp" target="_blank">中华复兴网自助连接 </a></td>
            <td height="20"><a href="http://www.cynhk.com/autolink/autolink.asp" target="_blank">旅游云南自助链接</a></td>
            <td height="20"><a href="http://www.cmbedu.com/zzlj/autolink.asp" target="_blank">中国民办院校网自助链接 </a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.06b.com/link.htm">中国励志演讲网自助链接</a></td>
            <td height="20"><a href="http://www.being.org.cn/resource/link.htm" target="_blank">惟存教育自助友情链接</a></td>
            <td height="20"><a href="http://www.lzsc.net/link/index.asp?type=&amp;page=41" target="_blank">连州自助友情链接</a></td>
            <td height="20"><a href="http://www.ruiwen.com/yqlj/yqlj.php" target="_blank">中学语文教学网自动友情链接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.ne163.com/">网讯快车</a></td>
            <td height="20"><a href="http://www.zgshj.com/link/reg.asp" target="_blank">中国书画家网自助连接系统</a></td>
            <td height="20"><a href="http://www.dg.gd.cn/links/">东莞网络自助链接</a></td>
            <td height="20"><a href="http://www.audioworld.com.cn/link/autolink.asp?" target="_blank">音响世界商务网自助登陆链接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.k369.com/" target="_blank">美萍中文精品网址</a></td>
            <td height="20"><a href="http://www.stsj2001.com/" target="_blank">商界网 </a></td>
            <td height="20"><a href="http://www.163btob.net/" target="_blank">晋昌物流配送网 </a></td>
            <td height="20"><a href="http://www.gdyj.com/" target="_blank">广东阳江在线</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.photo-home.com/" target="_blank">摄影之家</a></td>
            <td height="20"><a href="http://www.30t.net/" target="_blank">山石科技</a></td>
            <td height="20"><a href="http://guide.agri.org.cn/search.asp" target="_blank">中国农业信息网</a></td>
            <td height="20"><a href="http://www.chemsina.com/" target="_blank">中国化工在线</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.0580.net/" target="_blank">舟山视窗 </a></td>
            <td height="20"><a href="http://www.kouchischool.com/link/autolink.asp" target="_blank">世民口吃矫治学校自动链接</a></td>
            <td height="20"><a href="http://www.jetee.com/lj/kulink.asp?" target="_blank">激特自动友情链接</a></td>
            <td height="20"><a href="http://www.5y5.net/link/kulink.asp">五月五网络友情链接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.cnlag.com/cgi-bin/demo/link2000/link.cgi" target="_blank">中国老阿公网友情链接</a></td>
            <td height="20"><a href="http://www.ee-cn.com/bbs01/link/gbbslink.asp" target="_blank">时光飞梭绿色网盟自动链接</a></td>
            <td height="20"><a href="http://qohu.8800.org/link/link.asp" target="_blank">联合商城-自动友情联接</a></td>
            <td height="20"><a href="http://www.dreamart.cn/daslink/autolink.asp" target="_blank">梦艺工作室-自助友情链接</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://amateur.lamost.org/xkcq/mf/link/reg.php?action=reg" target="_blank">lamost.org友情连接系统</a></td>
            <td height="20"><a href="http://www.sd-wt.com/newsite/" target="_blank">商鼎网 </a></td>
            <td height="20"><a href="http://www.super18.com/" target="_blank">Super18.com</a></td>
            <td height="20"><a href="http://www.fs0757.com/" target="_blank">佛山资讯</a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.maning.com/link/display.asp" target="_blank">买酷自动友情连接 </a></td>
            <td height="20"><a href="http://www.y28.com/cgi-bin/link/join.pl" target="_blank">Y28 Search </a></td>
            <td height="20"><a href="http://www.globepage.com/ipo2/gb/index-gb.html">Globepage</a></td>
            <td height="20"><a href="http://www.yuhao.cn/main.asp" target="_blank">中国大学生乐园 </a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.bjprovider.com/mylink">北京小灵通友情链接 </a></td>
            <td height="20"><a href="http://www.83883.com/add.asp" target="_blank">[不上白不上]新站登录 </a></td>
            <td height="20"><a href="http://www.id80.com" target="_blank">ID80网络 </a></td>
            <td height="20"><a href="http://www.51yd.com/FriendSite.asp" target="_blank">健身时尚空间 </a></td>
        </tr>
        <tr>
            <td height="20"><a href="http://www.jnzc.net/" target="_blank">济宁之窗 </a></td>
            <td height="20"><a href="http://www.s8.com.cn/add.asp" target="_blank">搜吧免费登录入口</a></td>
            <td height="20"><a href="http://www.blank168.com/" target="_blank">白手起家搜索引擎</a></td>
            <td height="20"><a href="http://www.soulang.com/web/webadd.asp" target="_blank">搜浪搜索引擎免费登录入口</a></td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/zhip/aggbug/232786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2008-10-06 23:24 <a href="http://www.blogjava.net/zhip/archive/2008/10/06/232786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>针对不重新发送信息，则无法刷新网页。的终极解决方法</title><link>http://www.blogjava.net/zhip/archive/2008/09/25/231144.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Thu, 25 Sep 2008 08:53:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2008/09/25/231144.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/231144.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2008/09/25/231144.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/231144.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/231144.html</trackback:ping><description><![CDATA[<p>JAVA:</p>
<p>public class UtilTool {</p>
<p>&nbsp;&nbsp;&nbsp; public static Map getParameterMap(HttpServletRequest request) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map paramMap = new LinkedHashMap();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String pathInfoStr = request.getPathInfo();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pathInfoStr != null &amp;&amp; pathInfoStr.length() &gt; 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!pathInfoStr.endsWith("/")) pathInfoStr += "/";</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int current = pathInfoStr.indexOf('/');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int last = current;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ((current = pathInfoStr.indexOf('/', last + 1)) != -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String element = pathInfoStr.substring(last + 1, current);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last = current;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (element.charAt(0) == '~' &amp;&amp; element.indexOf('=') &gt; -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String name = element.substring(1, element.indexOf('='));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String value = element.substring(element.indexOf('=') + 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paramMap.put(name, value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Enumeration e = request.getParameterNames();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (e.hasMoreElements()) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String name = (String) e.nextElement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paramMap.put(name, request.getParameter(name));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (paramMap.size() == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map multiPartMap = (Map) request.getAttribute("multiPartMap");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (multiPartMap != null &amp;&amp; multiPartMap.size() &gt; 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paramMap.putAll(multiPartMap);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return paramMap;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp; public static String requestParameter(HttpServletRequest request){<br />
&nbsp;&nbsp; String fromstr="&lt;form name='request' method='POST'&gt;";<br />
&nbsp;&nbsp; Enumeration requestKeys = request.getParameterNames();<br />
&nbsp;&nbsp; Map requestValues=UtilTool.getParameterMap(request);<br />
&nbsp;&nbsp; String rkey = null;<br />
&nbsp;&nbsp; for(;requestKeys.hasMoreElements();){<br />
&nbsp;&nbsp;&nbsp; rkey = (String) requestKeys.nextElement();<br />
&nbsp;&nbsp;&nbsp; fromstr+="&lt;input name='"+rkey+"' value='"+requestValues.get(rkey)+"' type='hidden'&gt;";<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; fromstr+="&lt;/form&gt;&lt;script&gt;function reload(){request.submit()}&lt;/script&gt;";<br />
&nbsp;&nbsp; return fromstr;<br />
&nbsp;}<br />
}</p>
<p>Jsp调用：</p>
<p>&lt;%=UtilTool.requestParameter(request)%&gt;</p>
<p><br />
这样当需要调用弹出窗口并刷新当前页时如：<br />
针对当前页的刷新</p>
<p>window.location.reload();<br />
改为<br />
reload();</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/zhip/aggbug/231144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2008-09-25 16:53 <a href="http://www.blogjava.net/zhip/archive/2008/09/25/231144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【已解决】求助：IE7.0在框架页面里JS刷新无效！</title><link>http://www.blogjava.net/zhip/archive/2008/08/31/225809.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Sat, 30 Aug 2008 16:00:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2008/08/31/225809.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/225809.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2008/08/31/225809.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/225809.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/225809.html</trackback:ping><description><![CDATA[如题。知道的大侠指点一下啊，万分感谢！！
 <img src ="http://www.blogjava.net/zhip/aggbug/225809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2008-08-31 00:00 <a href="http://www.blogjava.net/zhip/archive/2008/08/31/225809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE6、IE7、FF 的CSS + DIV 兼容问题综合解决方案CSS HACK</title><link>http://www.blogjava.net/zhip/archive/2008/08/30/225807.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Sat, 30 Aug 2008 15:58:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2008/08/30/225807.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/225807.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2008/08/30/225807.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/225807.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/225807.html</trackback:ping><description><![CDATA[<div class="NewsContent" id="NewsContentLabel">
<p>一、CSS HACK<br />
以下两种方法几乎能解决现今所有HACK.<br />
&nbsp;</p>
<p><font size="2"><strong><font color="#3366ff" size="3">一、CSS HACK</font><br />
</strong>以下两种方法几乎能解决现今所有HACK.</font></p>
<p><font size="2"><strong>1、 !important</strong></font></p>
<p><font size="2">随着IE7</font><font size="2">对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)</font></p>
<p><font color="#006600" size="2"><strong>&lt;style&gt;<br />
#wrapper<br />
{<br />
width: 100px!important; /* IE7+FF */<br />
width: 80px; /* IE6 */<br />
}<br />
&lt;/style&gt;</strong></font></p>
<p><font size="2"><strong>2、IE6/IE77对FireFox</strong></font></p>
<p><font size="2">*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.</font></p>
<p><font color="#006600" size="2"><strong>&lt;style&gt;<br />
#wrapper<br />
{<br />
#wrapper { width: 120px; } /* FireFox */<br />
*html #wrapper { width: 80px;} /* ie6 fixed */<br />
*+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */<br />
}<br />
&lt;/style&gt;</strong></font></p>
<p><font size="2">注意:<br />
*+html 对IE7的HACK 必须保证HTML顶部有如下声明：<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"　"</font>http://www.w3.org/TR/html4/loose.dtd<font size="2">"&gt;</font></p>
<p><font color="#3366ff" size="3"><strong>二、万能 float 闭合(非常重要!)</strong></font></p>
<p><font size="2">关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup]<br />
将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽.</font></p>
<p><font color="#006600" size="2"><strong>&lt;style&gt;<br />
/* Clear Fix */</strong></font></p>
<p><font color="#006600" size="2"><strong>.clearfix:after<br />
{<br />
content:".";<br />
display:block;<br />
height:0;<br />
clear:both;<br />
visibility:hidden;<br />
}<br />
.clearfix<br />
{<br />
display:inline-block;<br />
}<br />
/* Hide from IE Mac */<br />
.clearfix {display:block;}<br />
/* End hide from IE Mac */<br />
/* end of clearfix */<br />
&lt;/style&gt;</strong></font></p>
<p><br />
<br />
1, !important<br />
<br />
随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)<br />
<br />
<br />
<br />
2, IE6/IE77对FireFox<br />
<br />
*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.<br />
<br />
<br />
<br />
注意:<br />
*+html 对IE7的HACK 必须保证HTML顶部有如下声明：<br />
<br />
<br />
二、万能 float 闭合(非常重要!)<br />
<br />
关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup]<br />
将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽.<br />
<br />
<br />
三、其他兼容技巧(再次啰嗦)<br />
<br />
1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)<br />
2, 居中问题.<br />
1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)<br />
2).水平居中. margin: 0 auto;(当然不是万能)<br />
3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)<br />
4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.<br />
5, ul 标签在 FF 下面默认有 list-style. 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)<br />
6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.<br />
7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.<br />
<br />
1 针对firefox ie6 ie7的css样式<br />
现在大部分都是用!important来hack，对于ie6和firefox测试可以正常显示，<br />
但是ie7对!important可以正确解释，会导致页面没按要求显示！找到一个针<br />
对IE7不错的hack方式就是使用&#8220;*+html&#8221;，现在用IE7浏览一下，应该没有问题了。<br />
现在写一个CSS可以这样：<br />
<br />
#1 { color: #333; } /* Moz */<br />
* html #1 { color: #666; } /* IE6 */<br />
*+html #1 { color: #999; } /* IE7 */<br />
那么在firefox下字体颜色显示为#333，IE6下字体颜色显示为#666，IE7下字体颜色显示为#999。<br />
<br />
2 css布局中的居中问题<br />
主要的样式定义如下：<br />
<br />
body {TEXT-ALIGN: center;}<br />
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }<br />
说明：<br />
首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中；对于IE这样设定就已经可以了。<br />
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上&#8220;MARGIN-RIGHT: auto;MARGIN-LEFT: auto; &#8221;<br />
需要说明的是，如果你想用这个方法使整个页面要居中，建议不要套在一个DIV里，你可以依次拆出多个div，<br />
只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。<br />
<br />
3 盒模型不同解释.<br />
<br />
#box{ width:600px; //for ie6.0- w\idth:500px; //for ff+ie6.0}<br />
#box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}<br />
<br />
4 浮动ie产生的双倍距离<br />
<br />
#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}<br />
这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,...不可控制(内嵌元素);<br />
<br />
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果 diplay:table;<br />
<br />
5 IE与宽度和高度的问题<br />
<br />
IE不认得min-这个定义，但实际上它把正常的width和height当作有min的情况来使。这样问题就大了，如果只用宽度和高度，<br />
正常的浏览器里这两个值就不会变，如果只用min-width和min-height的话，IE下面根本等于没有设置宽度和高度。<br />
比如要设置背景图片，这个宽度是比较重要的。要解决这个问题，可以这样：<br />
#box{ width: 80px; height: 35px;}html&gt;body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}<br />
<br />
6 页面的最小宽度<br />
<br />
min-width是个非常方便的CSS命令，它可以指定元素最小也不能小于某个宽度，这样就能保证排版一直正确。但IE不认得这个，<br />
而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用，可以把一个</p>
<div>放到 标签下，然后为div指定一个类：<br />
然后CSS这样<a class="UBBWordLink" href="http://www.xiye.cn/" target="_blank">设计</a>：<br />
#container{ min-width: 600px; width:expression(document.body.clientWidth &lt; 600? "600px": "auto" );}<br />
第一个min-width是正常的；但第2行的width使用了Javascript，这只有IE才认得，这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。<br />
<br />
7 清除浮动<br />
<br />
.hackbox{ display:table; //将对象作为块元素级的表格显示}或者.hackbox{ clear:both;}<br />
或者加入:after（伪对象）,设置在对象后发生的内容，通常和content配合使用，IE不支持此伪对象，非Ie 浏览器支持，<br />
所以并不影响到IE/WIN浏览器。这种的最麻烦的......#box:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden;}<br />
<br />
8 DIV浮动IE文本产生3象素的bug<br />
<br />
左边对象浮动，右边采用外补丁的左边距来定位，右边对象内的文本会离左边有3px的间距.<br />
<br />
#box{ float:left; width:800px;}#left{ float:left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; //这句是关键}<br />
HTML代码
<div>
<div>&nbsp;</div>
<div>&nbsp;</div>
</div>
<br />
<br />
9 属性选择器(这个不能算是兼容,是隐藏css的一个bug)<br />
<br />
p[id]{}div[id]{}<br />
这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用<br />
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.<br />
<br />
10 IE捉迷藏的问题<br />
<br />
当div应用复杂的时候每个栏中又有一些链接，DIV等这个时候容易发生捉迷藏的问题。<br />
有些内容显示不出来，当鼠标选择这个区域是发现内容确实在页面。<br />
解决办法：对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。<br />
<br />
11 高度不适应<br />
<br />
高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节，特别是当内层对象使用<br />
margin 或paddign 时。<br />
例：<br />
<div><br />
<p>p对象中的内容</p>
</div>
<br />
CSS：#box {background-color:#eee; }<br />
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }<br />
解决方法：在P对象上下各加2个空的div对象CSS代码：.1{height:0px;overflow:hidden;}或者为DIV加上border属性。</div>
</div>
<img src ="http://www.blogjava.net/zhip/aggbug/225807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2008-08-30 23:58 <a href="http://www.blogjava.net/zhip/archive/2008/08/30/225807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS动态添加删除行</title><link>http://www.blogjava.net/zhip/archive/2008/07/30/218577.html</link><dc:creator>ZhipSoft</dc:creator><author>ZhipSoft</author><pubDate>Wed, 30 Jul 2008 00:53:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2008/07/30/218577.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/218577.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2008/07/30/218577.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/218577.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/218577.html</trackback:ping><description><![CDATA[<p>[JS]动态添加删除ROW <br />
&lt;html&gt; <br />
&lt;head&gt; <br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt; <br />
&lt;title&gt;增加Table行&lt;/title&gt; <br />
&lt;/head&gt; <br />
&lt;script&gt; </p>
<p>var count=3;</p>
<p>function CheckAll(sender)<br />
{<br />
&nbsp;var _array = document.getElementsByTagName("input");<br />
&nbsp;for (var i=0;i&lt;_array.length;i++)<br />
&nbsp;{<br />
&nbsp; var e = _array[i];<br />
&nbsp; if (e.type == "checkbox")<br />
&nbsp; { <br />
&nbsp;&nbsp;&nbsp; if(e.id != "chkAll")<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; e.checked = sender.checked;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp; }<br />
&nbsp;} <br />
}</p>
<p><br />
function AddRow(obj) <br />
{ <br />
&nbsp;count++;<br />
&nbsp;<br />
&nbsp;//添加一行 <br />
&nbsp;var newTr = testTbl.insertRow();<br />
&nbsp;newTr.setAttribute("id","tr" + count.toString());<br />
&nbsp;//添加两列 <br />
&nbsp;var newTd0 = newTr.insertCell(); <br />
&nbsp;var newTd1 = newTr.insertCell(); <br />
&nbsp;//设置列内容和属性 <br />
&nbsp;<br />
&nbsp;newTd0.innerHTML = '&lt;input type=checkbox id="box'+ count.toString() +'"&gt;'; <br />
&nbsp;newTd1.innerText= '第'+ count.toString() +'行'; <br />
} </p>
<p>function DelRow()<br />
{<br />
&nbsp;var tb = document.getElementById("testTbl");<br />
&nbsp;if(tb.hasChildNodes)<br />
&nbsp;{<br />
&nbsp; var lastchild = tb.childNodes[0].childNodes[tb.childNodes[0].childNodes.length-1];<br />
&nbsp; if(lastchild)<br />
&nbsp; {<br />
&nbsp;&nbsp; if(confirm("确认删除" + lastchild.childNodes[1].childNodes[0].nodeValue + "?"))<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; var removednode = lastchild.parentNode.removeChild(lastchild);<br />
&nbsp;&nbsp;&nbsp; //alert(removednode.childNodes[1].childNodes[0].nodeValue);<br />
&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; else<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;&nbsp; }<br />
&nbsp; }<br />
&nbsp;}<br />
}</p>
<p>function ShowCheckboxID()<br />
{<br />
&nbsp;var message = "";<br />
&nbsp;<br />
&nbsp;var _array = document.getElementsByTagName("input");<br />
&nbsp;for (var i=0;i&lt;_array.length;i++)<br />
&nbsp;{<br />
&nbsp; var e = _array[i];<br />
&nbsp; if (e.type == "checkbox")<br />
&nbsp; {<br />
&nbsp;&nbsp; //alert(e.id);<br />
&nbsp;&nbsp; message += e.id + ",";<br />
&nbsp; }<br />
&nbsp;} <br />
&nbsp;<br />
&nbsp;if(message.length &gt; 0)<br />
&nbsp;{<br />
&nbsp; message = message.substr(0,message.length-1);<br />
&nbsp;}<br />
&nbsp;alert(message);<br />
}</p>
<p>function ShowTRID()<br />
{<br />
&nbsp;var tb = document.getElementById("testTbl");<br />
&nbsp;if(tb.hasChildNodes)<br />
&nbsp;{<br />
&nbsp; var message = "";<br />
&nbsp; var array_tr = tb.childNodes[0].childNodes;<br />
&nbsp; for(var i=0;i&lt; array_tr.length;i++)<br />
&nbsp; { <br />
&nbsp;&nbsp; if(i==0)<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; message += array_tr[i].id;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; else<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; message += ","+array_tr[i].id;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; //alert(array_tr[i].id);<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; alert(message);<br />
&nbsp;}<br />
}</p>
<p>function SplitStr()<br />
{<br />
&nbsp;var str = document.getElementById("txt1").value;<br />
&nbsp;<br />
&nbsp;var _array = str.split(",");<br />
&nbsp;<br />
&nbsp;var result = "";<br />
&nbsp;for(var i=0;i&lt;_array.length;i++)<br />
&nbsp;{<br />
&nbsp; result += _array[i] +"\r\n";<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;if(result.length &gt; 0)<br />
&nbsp;{<br />
&nbsp; result = result.substr(0,result.length-2);<br />
&nbsp;}<br />
&nbsp;alert(result); <br />
}<br />
&lt;/script&gt; <br />
&lt;body&gt; </p>
<p>&lt;table id="testTbl" style="border: solid 1px #D2D2D2"&gt;<br />
&lt;tr id="tr0"&gt;<br />
&lt;td&gt;&lt;input type=checkbox id="chkAll" onclick="CheckAll(this);"&gt;&lt;/td&gt;<br />
&lt;td&gt;全选&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr id="tr1"&gt;<br />
&lt;td &gt;&lt;input type=checkbox id="box1"&gt;&lt;/td&gt;<br />
&lt;td&gt;第1行&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr id="tr2"&gt; <br />
&lt;td &gt;&lt;input type=checkbox id="box2"&gt;&lt;/td&gt;<br />
&lt;td&gt;第2行&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr id="tr3"&gt;<br />
&lt;td &gt;&lt;input type=checkbox id="box3"&gt;&lt;/td&gt;<br />
&lt;td&gt;第3行&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;</p>
<p>&lt;br /&gt; <br />
&lt;input type="button" id="btnAdd" onclick="AddRow();" value="Add Row" /&gt; <br />
&lt;input type="button" id="btnDel" onclick="DelRow();" value="Del Row" /&gt; <br />
&lt;input type="button" id="btnShowCheckboxID" onclick="ShowCheckboxID();" value="Show Checkbox ID" /&gt; <br />
&lt;input type="button" id="btnShowTRID" onclick="ShowTRID();" value="Show TR ID" /&gt;</p>
<p>&lt;hr size="1" /&gt;<br />
&lt;input type="text" id="txt1" value="She,sells,seashells,by,the,seashore" size="50" style="cursor:pointer" /&gt;<br />
&lt;input type="button" id="btnSplit" onclick="SplitStr();" value="split string" /&gt;<br />
&lt;/body&gt; <br />
&lt;/html&gt;<br />
==============================<br />
删除表格行：<br />
</p>
<p>&lt;script&gt;function deleteRow (tableID, rowIndex) {<br />
var table =document.all[tableID].deleteRow(rowIndex);<br />
} <br />
&lt;/script&gt;</p>
<p>&lt;table id=mxh border=1&gt;<br />
&lt;tr&gt;&lt;td&gt;第1行&lt;/td&gt;&lt;td onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;第2行&lt;/td&gt;&lt;td onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;第3行&lt;/td&gt;&lt;td onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;第4行&lt;/td&gt;&lt;td onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;</p>
<img src ="http://www.blogjava.net/zhip/aggbug/218577.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">ZhipSoft</a> 2008-07-30 08:53 <a href="http://www.blogjava.net/zhip/archive/2008/07/30/218577.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>