Я провел много исследований, прежде чем открывать этот заголовок, но почему-то я не получил желаемый результат.Мой Listview ускорился, но этого недостаточно.
Когда я делаю просмотр списка вверх и вниз, иногда он замедляется и появляются небольшие заморозки.
Это потому, что Listview состоит только из изображений?Но когда я проверяю другие приложения, я вижу, что в них нет проблем.
Не могли бы вы просмотреть?
Это мой код адаптера:
public class pop_Adapter extends BaseAdapter {
private LayoutInflater userInflater;
private List<pop_User> userList;
Activity aa;
public pop_Adapter(Activity activity, List<pop_User> userList) {
userInflater = (LayoutInflater) activity.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
aa = activity;
this.userList = userList;
}
@Override
public int getCount() {
return userList.size();
}
@Override
public Object getItem(int i) {
return userList.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
class ViewYerTutucu{
RelativeLayout rela1;
LinearLayout activity_main,lin1;
TextView indir;
ImageView imageViewUserPicture;
ViewYerTutucu(View v){
activity_main = (LinearLayout) v.findViewById(R.id.activity_main);
indir = (TextView) v.findViewById(R.id.indirmeSayisi);
imageViewUserPicture = (ImageView) v.findViewById(R.id.resim);
lin1 = (LinearLayout) v.findViewById(R.id.lin1);
rela1 = (RelativeLayout) v.findViewById(R.id.rela1);
rela1.getLayoutParams().height = (int) ( (MainActivity.height / MainActivity.width) * MainActivity.width/2 ); //(int)MainActivity.width/2-36;
indir.setTextSize(MainActivity.pxToDp((int)MainActivity.width/23));
}
}
@Override
public View getView(final int i, View view, ViewGroup viewGroup) {
View lineView = view;
ViewYerTutucu tutucu=null;
if (lineView == null) {
lineView = userInflater.inflate(R.layout.custom_pop, viewGroup, false);
tutucu=new ViewYerTutucu(lineView);
lineView.setTag(tutucu);
}
else{
tutucu= (ViewYerTutucu) lineView.getTag();
}
final pop_User user = userList.get(i);
tutucu.indir.setText(user.getIndirme());
Glide.with(aa).load(user.getTags()).into(tutucu.imageViewUserPicture);
final ViewYerTutucu finalTutucu = tutucu;
tutucu.lin1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.hangiBolum = "pop-"+(i*2);
fragoyunsifir.ResimDegistir(user.getTags());
fragoyunsifir.paylas.setTag(user.getId());
fragoyunsifir.indir.setTag(user.getTags());
fragoyunsifir.button1.setTag(user.getResim());
Animation fadeOut = AnimationUtils.loadAnimation(aa, R.anim.fade_in_acilis);
fragoyunsifir.activity_main.startAnimation(fadeOut);
fadeOut.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
fragoyunsifir.gorunurYap();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
tutucu.indir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(aa, finalTutucu.indir.getText()+" downloads", Toast.LENGTH_SHORT).show();
}
});
if(reachedEndOfList(i)) loadMoreData();
return lineView;
}
private boolean reachedEndOfList(int position) {
// can check if close or exactly at the end
return position == getCount() - 1;
}
private void loadMoreData() {
MainActivity.News();
}
}
Примеризображение загружено: https://source.unsplash.com/-hI5dX2ObAs/540x720