私はメソッドgetView()
をオーバーライドして、新しいビューを返すonSuccess()
メソッド内でビューを膨張させようとしています。 onSuccess
によって返される値は、getView()
によって返されますか?ここでcallBack(onSuccess())を実装するメソッドは、onSucess()によって返された値を返しますか?
が私のコードです:
@Override
public View getView(final int position, final View view,final ViewGroup parent) {
aMethodWithAcallBack(new myCallBack(){
@Override
public void onSuccess(ArrayList<Content> contents) {
contentsList = contents ;
View mView = inflateIfRequired(view, position, parent);
if(getItem(position).content_type_id == 2) {
bindCard(view, getItem(position));
}
else {
if(getItem(position).content_type_id == 3)
bindVideo(view,getItem(position)) ;
}
return mView ;
});
@override
public void onFail() {
//
}
return view ;
}
私はCallBack
を使用し、なぜあなたは不思議に思われるかもしれcontentsList項目が私のListView
の項目であり、そしてこのcontentsListはのおかげで開始されたので、私はそれを使用する必要がありますcallBack
は、要素がサーバーからフェッチされるためです。
アーキテクチャを改訂する必要があります。できるだけ 'getView()'で行うべきではなく、 'aMethodWithAcallBack()'が非同期の場合、期待している結果は得られません。データを表示する前に準備するか、更新を完全に同期させます。 – tynn
'public void onSuccess'が' mView'を返すことができるのはかなり奇妙です。それはコンパイルされますか? – jaibatrik
あなたのアンサーに感謝します。私は物事を同期的に行うことができませんcontentsListはサーバからの要素でいっぱいです –