我想在ArrayList
中显示JSON
格式的TableLayout
。
TableLayout
是动态的,并在onPost
的{{1}}方法中使用。
如何将数据从AsyncTask
导入ArrayList
。
这是我使用TableLayout
的活动。
希望在TableLayout
,ArrayList
中显示名为ContactList的TableLayout
。
ArrayList
答案 0 :(得分:2)
好的。现在试试这个。从oncreate中删除这些行
itemsName = new TableRow(this);
tvItemName0 = new TextView(this);
tvItemName1 = new TextView(this);
tvItemName2 = new TextView(this);
使用此帖子执行方法。我已在此PostExcecute()方法中添加了这些行。
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// Dismiss the progress dialog
if (pDialog.isShowing())
pDialog.dismiss();
for (int i = 0; i < contactList.size(); i++) {
itemsName = new TableRow(this);
tvItemName0 = new TextView(this);
tvItemName1 = new TextView(this);
tvItemName2 = new TextView(this);
itemsName.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.MATCH_PARENT));
tvItemName0.setText(contactList.get(i).get(TAG_NAME));
tvItemName1.setText(contactList.get(i).get(TAG_EMAIL));
tvItemName2.setText(contactList.get(i).get(TAG_CONTACTS));
itemsName.addView(tvItemName0);
itemsName.addView(tvItemName1);
itemsName.addView(tvItemName2);
tl.addView(itemsName, new TableLayout.LayoutParams(
TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.MATCH_PARENT));
}
}
答案 1 :(得分:1)
在postExcecute方法中使用这些行。
itemsName = new TableRow(DailyMonthlyPerActivity.this);
tvItemName0 = new TextView(DailyMonthlyPerActivity.this);
tvItemName1 = new TextView(DailyMonthlyPerActivity.this);
tvItemName2 = new TextView(DailyMonthlyPerActivity.this);
答案 2 :(得分:0)
在postExecute()方法中尝试此操作。
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// Dismiss the progress dialog
if (pDialog.isShowing())
pDialog.dismiss();
for (int i = 0; i < contactList.size(); i++) {
itemsName.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.MATCH_PARENT));
tvItemName0.setText(contactList.get(i).get(TAG_NAME));
tvItemName1.setText(contactList.get(i).get(TAG_EMAIL));
tvItemName2.setText(contactList.get(i).get(TAG_CONTACTS));
itemsName.addView(tvItemName0);
itemsName.addView(tvItemName1);
itemsName.addView(tvItemName2);
tl.addView(itemsName, new TableLayout.LayoutParams(
TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.MATCH_PARENT));
}
}