我有一个列表视图,其中我为列表中的每个项目分配一个图像视图。问题是,我已经做到了应用程序一次只加载 10 行,并且当用户滚动时项目会加起来,我启用了硬件加速,我将图片压缩并调整为很小的尺寸,但不管我做了什么列表视图仍然滞后。
我试图在网上查找,但我无法意识到如何在我的场景中实现任何东西,或者还有什么可以加速这个过程。这是我的 BaseAdapter:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater = ((Activity)context).getLayoutInflater();
View view = layoutInflater.inflate(R.layout.library_layout, parent, false);
view.setBackgroundColor(Color.parseColor("#FFFFFF"));
final GamesLibrary gl = objects.get(position);
TextView title = (TextView)view.findViewById(R.id.titleId);
TextView excerpt = (TextView)view.findViewById(R.id.excerptId);
ImageView imageView = view.findViewById(R.id.listViewImageView);
ImageButton commBt = view.findViewById(R.id.goToCommLv);
final TextView author = view.findViewById(R.id.authorId);
final CheckBox likeBox = view.findViewById(R.id.likeIconLv);
ImageButton sharingButton = view.findViewById(R.id.shareButtonLv);
final SharedPreferences sp;
sp=context.getSharedPreferences("likes", 0);
final SharedPreferences.Editor editor = sp.edit();
String[] allFavsIds =SpIdstoArr(sp.getString("ids", ""));
final String id = String.valueOf(gl.getId());
SharedPreferences sp4 =context.getSharedPreferences("LocalLogInData", 0);
String uname= sp4.getString("Uname","dsufhsiudhfsdef");
if(gl.getTitle().contains(uname))
{
Log.d("aw12","aw12");
commBt.setClickable(false);
commBt.setEnabled(false);
commBt.setAlpha(0.5f);
}
我将解释这样我的代码不会令人困惑,我只是通过其属性为每个项目分配文本和图像视图,还有一个喜欢按钮和一个评论按钮,将用户带到评论页面。你们知道我能做什么吗?
凤凰求蛊
一只斗牛犬
慕田峪7331174
相关分类