【发布时间】:2014-04-25 23:27:41
【问题描述】:
我在这里遇到了问题,我对此完全陌生。
我尝试做的是将 JSONObject 传递给我的适配器并在我的适配器内为该 ListView 创建所有行
这是我的代码:
private static final String TAG_OS = "android";
protected void onPostExecute(JSONObject json) {
try {
JSONArray jArray = json.getJSONArray(TAG_OS);
if (jArray != null) {
for (int i=0;i<jArray.length();i++){
listdata.add(jArray.get(i).toString());
}
}
menu_list=(ListView)findViewById(R.id.menu_list);
MenuAdapter adapter = new MenuAdapter(MainActivity.this, new ArrayList[] {listdata} );
menu_list.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
我的适配器是这个:
public class MenuAdapter extends ArrayAdapter<ArrayList> {
private final Context context;
private final ArrayList[] values;
public MenuAdapter(Context context,ArrayList[] values) {
super(context, R.layout.menu_main, 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 rowView = inflater.inflate(R.layout.menu_main, parent, false);
if (position % 2 == 1) {
rowView.setBackgroundColor(Color.RED);
} else {
rowView.setBackgroundColor(Color.BLUE);
}
return rowView;
}
我仍然不知道如何填充整个 ListView,它只是一个具有备用背景的 TextView。我还不明白如何设置一行又一行,还没有找到一个很好的例子。
我该如何解决这个问题? :s
【问题讨论】:
标签: android listview android-listview android-arrayadapter jsonobject