Android 列表滚动滞后

Android 列表滚动滞后,android,listactivity,smooth-scrolling,Android,Listactivity,Smooth Scrolling,我的应用程序是一个列表活动,包含26行,每行都包含图像和文本,一切运行正常,但列表的滚动显示出一些延迟,尤其是当滚动速度与默认的android联系人列表一样快时,它并不平滑 我试过:lv.setFastScrollEnabled(true) 我还试图减少每一行的图像大小,直到我用ic_启动器图像替换所有图像进行测试,但同样的延迟存在 但这对我的列表没有任何影响,任何建议或帮助都将不胜感激。 注意:以阿拉伯语命名的类 我的代码: public class Menu extends ListAct

我的应用程序是一个列表活动,包含26行,每行都包含图像和文本,一切运行正常,但列表的滚动显示出一些延迟,尤其是当滚动速度与默认的android联系人列表一样快时,它并不平滑

我试过:
lv.setFastScrollEnabled(true)

我还试图减少每一行的图像大小,直到我用ic_启动器图像替换所有图像进行测试,但同样的延迟存在

但这对我的列表没有任何影响,任何建议或帮助都将不胜感激。 注意:以阿拉伯语命名的类

我的代码:

 public class Menu extends ListActivity {
   String classes[] = { "المقدمة", "رحلتي", "اليوم الأول",  "اليوم الثاني", "اليوم الثالث", 
         "اليوم الرابع", "اليوم الخامس", "اليوم السادس", "اليوم السابع", "اليوم الثامن", "اليوم التاسع", "اليوم العاشر", "اليوم الحادي عشر", 
         "اليوم الثاني عشر", "اليوم الثالث عشر", "اليوم الرابع عشر", "اليوم الخامس عشر", "اليوم السادس عشر", "اليوم السابع عشر", 
         "اليوم الثامن عشر", "اليوم التاسع عشر", "اليوم العشرون", "اليوم الحادي والعشرين", "اليوم الثاني والعشرين", "اليوم الثالث والعشرين", "الخاتمة"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    // create background for whole list as image 
    ListView lv = getListView(); 
    lv.setFastScrollEnabled(true);   
    lv.setCacheColorHint(0);  
    lv.setDivider(new ColorDrawable(0xFFDAB999));
    lv.setSelector(android.R.color.transparent); 
    lv.setDividerHeight(10);
    lv.setPadding(50, 0, 50, 0);
    lv.setVerticalScrollBarEnabled(false);
    lv.setBackgroundResource(R.drawable.a);

    setListAdapter(new MyArrayAdapter(this, classes));  }

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String cheese = classes[position];
    if(cheese.equals("المقدمة")) cheese = "Introduction"; 
    if(cheese.equals("رحلتي")) cheese = "MyTrip"; 
    if(cheese.equals("اليوم الأول")) cheese = "Day1"; 
    if(cheese.equals("اليوم الثاني")) cheese = "Day2"; 
    if(cheese.equals("اليوم الثالث")) cheese = "Day3";
    if(cheese.equals("اليوم الرابع")) cheese = "Day4"; 
    if(cheese.equals("اليوم الخامس")) cheese = "Day5"; 
    if(cheese.equals("اليوم السادس")) cheese = "Day6";
    if(cheese.equals("اليوم السابع")) cheese = "Day7"; 
    if(cheese.equals("اليوم الثامن")) cheese = "Day8"; 
    if(cheese.equals("اليوم التاسع")) cheese = "Day9";
    if(cheese.equals("اليوم العاشر")) cheese = "Day10"; 
    if(cheese.equals("اليوم الحادي عشر")) cheese = "Day11"; 
    if(cheese.equals("اليوم الثاني عشر")) cheese = "Day12";
    if(cheese.equals("اليوم الثالث عشر")) cheese = "Day13"; 
    if(cheese.equals("اليوم الرابع عشر")) cheese = "Day14"; 
    if(cheese.equals("اليوم الخامس عشر")) cheese = "Day15";
    if(cheese.equals("اليوم السادس عشر")) cheese = "Day16"; 
    if(cheese.equals("اليوم السابع عشر")) cheese = "Day17"; 
    if(cheese.equals("اليوم الثامن عشر")) cheese = "Day18";
    if(cheese.equals("اليوم التاسع عشر")) cheese = "Day19"; 
    if(cheese.equals("اليوم العشرون")) cheese = "Day20"; 
    if(cheese.equals("اليوم الحادي والعشرين")) cheese = "Day21";
    if(cheese.equals("اليوم الثاني والعشرين")) cheese = "Day22"; 
    if(cheese.equals("اليوم الثالث والعشرين")) cheese = "Day23"; 
    if(cheese.equals("الخاتمة")) cheese = "Conclusion"; 

    try{
        Intent ourIntent;
       if(position>1 &&  position<25) {
               Class ourClass = Class.forName("com.tsn.dr.MyDay");
               ourIntent = new Intent(Menu.this, ourClass);
               ourIntent.putExtra("cheese", cheese);}
       else {
               Class ourClass = Class.forName("com.tsn.dr." + cheese);
               ourIntent = new Intent(Menu.this,ourClass);  }            
          startActivity(ourIntent);  }                                                                                                 
                 catch (ClassNotFoundException e){
                          e.printStackTrace();  }}

public boolean onCreateOptionsMenu(android.view.Menu menu) {

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.cool_menu, menu);

getLayoutInflater().setFactory(new Factory() {
public View onCreateView(String name, Context context,
AttributeSet attrs) {

if (name .equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try {

LayoutInflater li = LayoutInflater.from(context);
final View view = li.createView(name, null, attrs);

new Handler().post(new Runnable() {
public void run() {


view .setBackgroundResource(R.drawable.border3);

((TextView) view).setTextSize(25); 


Typeface face=Typeface.createFromAsset(getAssets(),"BFantezy.ttf");     
((TextView) view).setTypeface(face);
((TextView) view).setTextColor(Color.RED);
}
});
return view;
} catch (InflateException e) {
} catch (ClassNotFoundException e) {
}
}
return null;
}
});
return super.onCreateOptionsMenu(menu);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch (item.getItemId()) {
    case R.id.aboutUs:
        Intent i = new Intent("com.tsn.dr.ABOUT");
        startActivity(i);

    break;
    case R.id.preferences:
        Intent p = new Intent("com.tsn.dr.PREFS");
        startActivity(p);
    break;
    case R.id.exit:
        finish();
    break;
}
return false;
                }
         }
 public class MyArrayAdapter extends ArrayAdapter<String> {
private final Activity context;
private final String[] classes;
Typeface tf;

public MyArrayAdapter(Activity context, String[] classes) {
    super(context, R.layout.row, classes);
    this.context = context;
    this.classes = classes;
              }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    tf=Typeface.createFromAsset(context.getAssets(),"BFantezy.ttf"); 
    LayoutInflater inflater = context.getLayoutInflater();
    View rowView = inflater.inflate(R.layout.row, null, true);
    TextView textView = (TextView) rowView.findViewById(R.id.row_label);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.row_image);
    String s = classes[position];
    textView.setText(s);
    ((TextView)textView).setTypeface(tf); 


if ( s.startsWith("اليوم الأول")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الرابع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الخامس")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السادس")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السابع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثامن")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم التاسع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم العاشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الحادي عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الرابع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الخامس عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السادس عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السابع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثامن عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم التاسع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم العشرون")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الحادي والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("الخاتمة")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("رحلتي")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("المقدمة")) {

    imageView.setImageResource(R.drawable.ic_launcher); }

return rowView;  }}
菜单类:

 public class Menu extends ListActivity {
   String classes[] = { "المقدمة", "رحلتي", "اليوم الأول",  "اليوم الثاني", "اليوم الثالث", 
         "اليوم الرابع", "اليوم الخامس", "اليوم السادس", "اليوم السابع", "اليوم الثامن", "اليوم التاسع", "اليوم العاشر", "اليوم الحادي عشر", 
         "اليوم الثاني عشر", "اليوم الثالث عشر", "اليوم الرابع عشر", "اليوم الخامس عشر", "اليوم السادس عشر", "اليوم السابع عشر", 
         "اليوم الثامن عشر", "اليوم التاسع عشر", "اليوم العشرون", "اليوم الحادي والعشرين", "اليوم الثاني والعشرين", "اليوم الثالث والعشرين", "الخاتمة"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    // create background for whole list as image 
    ListView lv = getListView(); 
    lv.setFastScrollEnabled(true);   
    lv.setCacheColorHint(0);  
    lv.setDivider(new ColorDrawable(0xFFDAB999));
    lv.setSelector(android.R.color.transparent); 
    lv.setDividerHeight(10);
    lv.setPadding(50, 0, 50, 0);
    lv.setVerticalScrollBarEnabled(false);
    lv.setBackgroundResource(R.drawable.a);

    setListAdapter(new MyArrayAdapter(this, classes));  }

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String cheese = classes[position];
    if(cheese.equals("المقدمة")) cheese = "Introduction"; 
    if(cheese.equals("رحلتي")) cheese = "MyTrip"; 
    if(cheese.equals("اليوم الأول")) cheese = "Day1"; 
    if(cheese.equals("اليوم الثاني")) cheese = "Day2"; 
    if(cheese.equals("اليوم الثالث")) cheese = "Day3";
    if(cheese.equals("اليوم الرابع")) cheese = "Day4"; 
    if(cheese.equals("اليوم الخامس")) cheese = "Day5"; 
    if(cheese.equals("اليوم السادس")) cheese = "Day6";
    if(cheese.equals("اليوم السابع")) cheese = "Day7"; 
    if(cheese.equals("اليوم الثامن")) cheese = "Day8"; 
    if(cheese.equals("اليوم التاسع")) cheese = "Day9";
    if(cheese.equals("اليوم العاشر")) cheese = "Day10"; 
    if(cheese.equals("اليوم الحادي عشر")) cheese = "Day11"; 
    if(cheese.equals("اليوم الثاني عشر")) cheese = "Day12";
    if(cheese.equals("اليوم الثالث عشر")) cheese = "Day13"; 
    if(cheese.equals("اليوم الرابع عشر")) cheese = "Day14"; 
    if(cheese.equals("اليوم الخامس عشر")) cheese = "Day15";
    if(cheese.equals("اليوم السادس عشر")) cheese = "Day16"; 
    if(cheese.equals("اليوم السابع عشر")) cheese = "Day17"; 
    if(cheese.equals("اليوم الثامن عشر")) cheese = "Day18";
    if(cheese.equals("اليوم التاسع عشر")) cheese = "Day19"; 
    if(cheese.equals("اليوم العشرون")) cheese = "Day20"; 
    if(cheese.equals("اليوم الحادي والعشرين")) cheese = "Day21";
    if(cheese.equals("اليوم الثاني والعشرين")) cheese = "Day22"; 
    if(cheese.equals("اليوم الثالث والعشرين")) cheese = "Day23"; 
    if(cheese.equals("الخاتمة")) cheese = "Conclusion"; 

    try{
        Intent ourIntent;
       if(position>1 &&  position<25) {
               Class ourClass = Class.forName("com.tsn.dr.MyDay");
               ourIntent = new Intent(Menu.this, ourClass);
               ourIntent.putExtra("cheese", cheese);}
       else {
               Class ourClass = Class.forName("com.tsn.dr." + cheese);
               ourIntent = new Intent(Menu.this,ourClass);  }            
          startActivity(ourIntent);  }                                                                                                 
                 catch (ClassNotFoundException e){
                          e.printStackTrace();  }}

public boolean onCreateOptionsMenu(android.view.Menu menu) {

MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.cool_menu, menu);

getLayoutInflater().setFactory(new Factory() {
public View onCreateView(String name, Context context,
AttributeSet attrs) {

if (name .equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try {

LayoutInflater li = LayoutInflater.from(context);
final View view = li.createView(name, null, attrs);

new Handler().post(new Runnable() {
public void run() {


view .setBackgroundResource(R.drawable.border3);

((TextView) view).setTextSize(25); 


Typeface face=Typeface.createFromAsset(getAssets(),"BFantezy.ttf");     
((TextView) view).setTypeface(face);
((TextView) view).setTextColor(Color.RED);
}
});
return view;
} catch (InflateException e) {
} catch (ClassNotFoundException e) {
}
}
return null;
}
});
return super.onCreateOptionsMenu(menu);
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    switch (item.getItemId()) {
    case R.id.aboutUs:
        Intent i = new Intent("com.tsn.dr.ABOUT");
        startActivity(i);

    break;
    case R.id.preferences:
        Intent p = new Intent("com.tsn.dr.PREFS");
        startActivity(p);
    break;
    case R.id.exit:
        finish();
    break;
}
return false;
                }
         }
 public class MyArrayAdapter extends ArrayAdapter<String> {
private final Activity context;
private final String[] classes;
Typeface tf;

public MyArrayAdapter(Activity context, String[] classes) {
    super(context, R.layout.row, classes);
    this.context = context;
    this.classes = classes;
              }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    tf=Typeface.createFromAsset(context.getAssets(),"BFantezy.ttf"); 
    LayoutInflater inflater = context.getLayoutInflater();
    View rowView = inflater.inflate(R.layout.row, null, true);
    TextView textView = (TextView) rowView.findViewById(R.id.row_label);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.row_image);
    String s = classes[position];
    textView.setText(s);
    ((TextView)textView).setTypeface(tf); 


if ( s.startsWith("اليوم الأول")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الرابع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الخامس")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السادس")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السابع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثامن")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم التاسع")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم العاشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الحادي عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الرابع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الخامس عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السادس عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم السابع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثامن عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم التاسع عشر")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم العشرون")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الحادي والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثاني والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("اليوم الثالث والعشرين")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("الخاتمة")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("رحلتي")) {

    imageView.setImageResource(R.drawable.ic_launcher); }


if ( s.startsWith("المقدمة")) {

    imageView.setImageResource(R.drawable.ic_launcher); }

return rowView;  }}
公共类菜单扩展ListActivity{
弦乐类[]、、、、、、、,
"اليوم الرابع", "اليوم الخامس", "اليوم السادس", "اليوم السابع", "اليوم الثامن", "اليوم التاسع", "اليوم العاشر", "اليوم الحادي عشر", 
"اليوم الثاني عشر", "اليوم الثالث عشر", "اليوم الرابع عشر", "اليوم الخامس عشر", "اليوم السادس عشر", "اليوم السابع عشر", 
"اليوم الثامن عشر", "اليوم التاسع عشر", "اليوم العشرون", "اليوم الحادي والعشرين", "اليوم الثاني والعشرين", "اليوم الثالث والعشرين", "الخاتمة"};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
this.requestWindowFeature(Window.FEATURE\u NO\u TITLE);
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
//为整个列表创建背景作为图像
ListView lv=getListView();
lv.setFastScrollEnabled(真);
lv.setCacheColorHint(0);
lv.设置分隔器(新的可着色(0xFFDAB999));
lv.setSelector(android.R.color.透明);
lv.setDividerHeight(10);
lv.设置填充(50,0,50,0);
lv.setVerticalScrollBarEnabled(假);
lv.挫折资源(R.drawable.a);
setListAdapter(新的MyArrayAdapter(this,classes));}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//TODO自动生成的方法存根
super.onListItemClick(左、右、位置、id);
字符串=类[位置];
如果(cheese.equals(“cheese.equals”))cheese=“引言”;
如果(cheese.equals(“cheese”)cheese=“MyTrip”;
如果(cheese.equals(“cheese.equals”)cheese=“Day1”;
如果(cheese.equals(“第二天”))cheese=“第二天”;
如果(cheese.equals(“第三天”)cheese=“第三天”;
如果(cheese.equals(“第四天”)cheese=“第四天”;
如果(cheese.equals(“cheese.equals”)cheese=“Day5”;
如果(cheese.equals)cheese=“第6天”;
如果(cheese.equals(“第七天”))cheese=“第七天”;
如果(cheese.equals(“第8天”);
如果(cheese.equals(“第9天”);
如果(cheese.equals(“第10天”)cheese=“第10天”;
如果(奶酪等于(“奶酪”)奶酪=“第11天”;
如果(奶酪等于奶酪(第12天);
如果(奶酪等于(“奶酪”)奶酪=“第13天”;
如果(cheese.equals(“第14天”)cheese=“第14天”;
如果(cheese.equals(“cheese.equals”)cheese=“Day15”;
如果(奶酪等于(“奶酪”)奶酪=“第16天”;
如果(奶酪等于(“奶酪”)奶酪=“第17天”;
如果(奶酪等于奶酪(第18天);
如果(奶酪等于(“奶酪”)奶酪=“第19天”;
如果(cheese.equals(“第20天”);
如果(奶酪等于奶酪(Day21);
如果(奶酪等于奶酪(Day22);
如果(奶酪等于奶酪(Day23);
如果(cheese.equals(“cheese.equals”))cheese=“结论”;
试一试{
意图或意图;

如果(position>1&&position首先从
getView
方法中删除
tf=Typeface.createFromAsset(context.getAssets(),“BFantezy.ttf”);
行,并将其用作字段(这使其可重用)。例如,您可以在
onCreate()
方法中创建
字体

其次,您没有循环使用视图。当适配器调用
getView()
方法时,您正在创建新行。
getView()
方法的正确实现如下所示:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
    if (convertView == null) {
        holder = new ViewHolder();
       // Inflate your row layout
        convertView = mInflater.inflate(R.layout.YOUR_XML_LAYOUT, null);
        // set your holder views here. For example;
        // holder.textview = (TextView) convertView.findViewById(R.id.textview);
        //
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    // Customize your row items here! For example:
    // if ( s.startsWith("اليوم الثاني والعشرين")) {
    // imageView.setImageResource(R.drawable.ic_launcher); }

    return convertView;
}
为了提高效率,不要在
getView()
方法中使用耗时的操作,因为每次在listview上抛出/滚动时都会调用它


希望这有帮助。

每次滚动时都要创建新的行视图,需要重新使用布局,@Adil Soomro实际上我的朋友我是使用类创建列表的,我不使用listview XML,这与ViewHolder方法是一致的,谢谢,重要的是适配器的实现。尝试禁用listvie的滚动缓存w、 lv.setScrollingCache(False);我现在没有android开发安装程序,所以如果语法有问题,请原谅我。亲爱的,我会尝试一下,我现在在外面,稍后再重播你,谢谢,谢谢。但是还有一件事,如果我增加每行的图像大小,这将导致再次滚动的延迟,如何解决这个问题。