2017-01-04 12 views
0

私はいくつかの同様の質問を見ましたが、私の問題を解決できませんでした。 1つのImageViewとTextViewを持つListViewがあります。私はカスタムアダプタとviewHolderパターンを使用していますが、私のリストはスムーズにスクロールしませんか?私は既に私のミップマップフォルダに画像をダウンロードしているので、私はそれらを直接ダウンロードしていません。私はQuoraや他の専門のListViewアプリのように、高速スクロールを改善するために何ができるのか分かりません。ここに私のアダプタは、次のとおりです。ここでListViewはAndroidで滑らかにスクロールしていますか?

class customAdapter extends BaseAdapter { 

ArrayList<Object> itemList; 
Activity context; 
public LayoutInflater inflater; 

public customAdapter(Activity context,ArrayList<Object> itemList) { 
    super(); 

    this.context = context; 
    this.itemList = itemList; 
    this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

} 

private static class ViewHolder { 
    TextView text; 
    ImageView image; 
} 

@Override 
public int getCount() { 
    return itemList.size(); 
} 

@Override 
public Object getItem(int position) { 
    return itemList.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent){ 

    ViewHolder holder; 
    if(convertView == null){ 
     holder = new ViewHolder(); 

     convertView = inflater.inflate(R.layout.custom_row, parent, false); 
     holder.text = (TextView) convertView.findViewById(R.id.text); 
     holder.image = (ImageView) convertView.findViewById(R.id.image); 
     convertView.setTag(holder); 
    } else 
     // View is being recycled, retrieve the viewHolder object from tag 
     holder = (ViewHolder) convertView.getTag(); 

     ListItem items = (ListItem) itemList.get(position); 
     holder.text.setText(items.getText()); 
     holder.image.setImageResource(items.getImg()); 

     return convertView; 
    } 
} 

は私custom_rowです:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<ImageView 
    android:layout_width="70dp" 
    android:layout_height="70dp" 
    android:id="@+id/image" 
    android:layout_marginTop="25dp" 
    android:layout_marginLeft="20dp" 
    android:src="@mipmap/austria" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Large Text" 
    android:id="@+id/text" 
    android:layout_marginTop="45dp" 
    android:layout_marginLeft="30dp" 
    android:textColor="#ffffff" 
    android:textStyle="bold" /> 

そして、ここでは、私が使用している画像のサンプルです: http://img.freeflagicons.com/thumb/round_icon/austria/austria_640.png

+0

しばらくの間、 'RecyclerView'がある場合、なぜ' ListView'を使用しますか? 'custom_row.xml'とここで使用している画像のサンプルを投稿してください。 – Divers

+0

私はAndroidに比較的新しい、最初のアプリを開発しようとしています。だから私はListViewが良い選択だと思った。 –

+0

うーん..私はアダプタ側で何の問題も見ません。リストビューのデータ(もちろん画像だけでなく)をどのように取得しているのかを具体的に説明してください。 –

答えて

2

のサイズを確認してください画像。より大きなサイズの画像を読み込むと、リストビューのパフォーマンスに影響します。

関連する問題