AsyncTask
のデータをロードするために を使用していListView
ます。
データが読み込まれた後、 のinvalidate()
メソッドを呼び出してListView
いますが、再描画されませんでした。配列アダプターのgetView()
メソッドのコールバックにブレーク ポイントを設定しました。無効化後に呼び出されることはありません。ただし、ListView
が最初に作成された後に呼び出されます。
今それをテストするためcGlobals.gSay
に、リストブックに表示されるグローバル動詞を使用します
protected void onPostExecute(String result) {
mReady=true;
UpdateList();
if (result.compareTo("na")==0)
NextLevel();
}
void UpdateList()
{
cGlobals.gSay= new String("aaaaaaaaa");
listView.postInvalidate();
}
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.rowlayout, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.rowlayout, parent, false);
TextView label=(TextView)row.findViewById(R.id.label);
label.setText(cGlobals.gSay);
return row;
}
}