2017-07-21 2 views
0

今日私はWTFの瞬間を抱いています。Android - アダプタコールから戻るときにUIオブジェクト参照がnullになるのはなぜですか?

は、Android断片で次のコードを検討 - :アダプターで

Adapter adapter = new Adapter(getActivity(), points_array_list); 

listView.setAdapter(adapter); 

//When returning from adapter a particular UI object(ie. a TextView) becomes //null 

for(Point p : points_array_list) { 
if (p.getTextView() == null) { 
       Log.wtf("WTF","Why is it NULL ?"); 
      } 
} 

次のようにコードがある: -

TextView view = (TextView) view.findViewById(R.id.point_textview); 

point.setView(view); 

アダプターフラグメントを共有同じArrayList<Point>参照どちら。

私がこれをやっている理由は、イベントでTextViewを更新する必要があるからです。

アダプターコールから戻った後に誰かがなぜnullになるのか教えていただけますか?

私はそれがnullでないことを確認するために次のチェックを追加した。また注意してください

- :

if(point.getCoordView() != null) { 
       Log.wtf("WTF", "Its not null"); 
      } 

と期待が、私は、アダプタから戻ったときにオブジェクトがまだゼロになるよう上記の健全性チェックが動作します。

+0

「アダプタコールから戻ってくる」とはどういう意味ですか? 2番目のスニペットはどのような方法から来ますか? – SpaceBison

答えて

0

アダプタの結果は、初期化に数ミリ秒必要です。これを使用することができます

+0

うん、それは働いている –

+0

私に競合状態のように見えます。 – SpaceBison

関連する問題