public class PrivacyAdapter extends BaseAdapter { public Context context;
public List<PrivacyText> list; public HashMap<Integer, View> m = new HashMap<Integer, View>(); 
/**
 * 
 */
public PrivacyAdapter(Context context, List<PrivacyText> list) {
this.context = context;
this.list = list;
} @Override
public int getCount() {
return list.size();
} @Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHoder hoder = null;
final PrivacyText privacyText = list.get(position);
convertView = m.get(position);
if (convertView != null){
hoder = (ViewHoder) convertView.getTag();
return convertView;
}else {
hoder = new ViewHoder();
    convertView = LayoutInflater.from(context).inflate(
R.layout.privacy_text_list, null);
    convertView.setTag(hoder);
    m.put(position, convertView);
}

hoder.privacyTitle = (TextView) convertView
.findViewById(R.id.privacy_text_title);
hoder.privacyBody = (MTextView) convertView
.findViewById(R.id.privacy_text_body);
hoder.privacyBody.setText(list.get(position).pribacyBody);
            if(privacyText.privacyTitle != null){
             hoder.privacyTitle.setVisibility(View.VISIBLE);
             hoder.privacyTitle.setText(privacyText.privacyTitle);
            }else{
             hoder.privacyTitle.setVisibility(View.GONE);
            }
return convertView;
}
public class ViewHoder {
TextView privacyTitle;
MTextView privacyBody;
} }
/**
     * 初始化privacy页面
     */
    public  void init() {
    
     listView =(ListView) findViewById(R.id.login_policy_listview);
     PrivacyAdapter adapter = new PrivacyAdapter(this, list);
     listView.setAdapter(adapter);
     listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
     listView.setFastScrollAlwaysVisible(true);
     listView.setFastScrollEnabled(true);
     listView.setDivider(null);
     listView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_INSET);
     代码如上,问什么我在语言设为英文时,listview滑动的很顺畅,而换成中文的时候就很卡呢?
资源文件不方便发,就是文字比较多,差不多有3000+个字(中文),分成14段,求答案!求解释!求教育!

解决方案 »

  1.   

     <LinearLayout
            android:id="@+id/aboutpolicy"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@id/login_privacy_button"
            android:layout_below="@id/aboutpolicy_top"
            android:orientation="vertical" >        <ListView
                android:id="@+id/login_policy_listview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:cacheColorHint="@android:color/transparent" />
        </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#E2E2E2"
        android:orientation="vertical" >    <TextView
            android:id="@+id/privacy_text_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="10dip"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:visibility="gone"
            android:textColor="#000"
            android:textSize="18sp" />
        <com.android.bai.ui.more.MTextView
            android:id="@+id/privacy_text_body"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dip"
            android:layout_marginRight="0dip"
            android:layout_marginTop="8dip"
            android:autoLink="web|email"
            android:textColor="#000"
            android:textSize="14sp" /></LinearLayout>布局文件忘了·
    有高人请速度啦,在线等待
      

  2.   

    事实上android对中文的支持非常不好。。尽量少做文本的字体效果了。。
      

  3.   

    难道是因为一个item中的文字太多了么