我正在使用 aAsyncTask
为 a 加载数据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;
}
}