2011-07-29 5 views
3

私はAndroidが初めてです。私はwebviewsのギャラリーを作成しています、そこにBaseAdapterで200 webviewのコンテンツを表示する必要があります。私はすべての200のWebviewを一緒にロードしたくありません。そこで、ギャラリーのスライドでBaseAdapterに各Webviewを追加し、表示されたWebviewを削除します。次に、 "notifydatasetchanged()"でBaseAdapterをリフレッシュします。Gallery BaseAdapterでnotifydatasetchangedでギャラリーが点滅します

ここで問題はImです。 "notifydatasetchanged()"でBaseAdapterを更新すると、ギャラリーがリフレッシュされます。ギャラリーをリフレッシュする瞬間に点滅します。私はBaseAdapterをリフレッシュする際に点滅を取り除きたい。出来ますか ?事前に

感謝:)

+0

私を助けることを願っています: だからあなたは自分のオーバーライドメソッドでそれを処理しなければならない(私の場合は、view.Tagでビジネス・オブジェクトを置きます)それは、実行時に次のビューを作成するためだと考えているので、その時点で3を作成してみることができます。前、現在、そして次へまた、これをアクティビティマニフェストに追加することもできます:android:hardwareAccelerated = "true" – Androider

+0

これは機能しません。私は以前のビューを維持することによって次々と追加していても、更新時にギャラリーがまだ点滅しています。 – FvZ

+0

マニフェストにコードを追加しましたか? – Androider

答えて

2

は、私はちょうど私のアプリでそれを修正:)
を私は伝説的な英語で説明しようとします。

BaseAdapter.notifyDataSetChanged()表示されたすべてのビューに対してAdapter.getView(...)が呼び出されます。

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // View is good to use 
    if (convertView != null && convertView.getTag() != null && convertView.getTag() == getItem(position)){ 
     return convertView; 
    }else { 
     //Do your stuff 
     convertView.setTag(getItem(position)) 
     return convertView; 
    } 


} 

私はそれも3年後に誰か:)

関連する問題