我从服务器取到的值是list集合类型,我怎么把值从list集合里一个个取出,然后填充到textview里

yuanyanfang1994 发布于 2013/11/06 13:31
阅读 5K+
收藏 1

List<String> messageList = (List)mapResult.get("resultdata");
  
  List<String> data = new ArrayList<String>();
  for (String message: messageList) {
   String message1=String.valueOf(message);
   data.add(message1);
  }

adapter = new BaseAdapter() {
   public View getView(int position, View convertView, ViewGroup parent) {
    final String message;
    //convertView = LayoutInflater.from(MessageActivity.this).inflate(R.layout.activity_message, null);
    //data.get(position).get("");
    TextView tv = new TextView(getApplicationContext());
    tv.setText(data.get(position));
    return tv;
   }

   public long getItemId(int position) {
    return 0;
   }

   public Object getItem(int position) {
    return null;
   }

   public int getCount() {
    return data.size();
   }
  };
  listView.setAdapter(adapter);
 }
 

 

加载中
0
Jony灬
Jony灬
没看懂,你是要全部放进1个textview 还是按照你这个代码 分别放入listview中的每个textview中?
0
yuanyanfang1994
yuanyanfang1994

引用来自“Jony灬”的答案

没看懂,你是要全部放进1个textview 还是按照你这个代码 分别放入listview中的每个textview中?

放到每个textview中,我是这么写的

for(int i=0;i<messageList.size();i++){
   Log.i("message", messageList.get(i).toString());
   data.add(messageList.get(i).toString());
  }

得到的值全是{message=测试数据1}{message=测试数据2}{message=测试数据3}

但我实际想得到的是测试数据1  测试数据2  测试数据3

0
Jony灬
Jony灬

引用来自“yuanyanfang1994”的答案

引用来自“Jony灬”的答案

没看懂,你是要全部放进1个textview 还是按照你这个代码 分别放入listview中的每个textview中?

放到每个textview中,我是这么写的

for(int i=0;i<messageList.size();i++){
   Log.i("message", messageList.get(i).toString());
   data.add(messageList.get(i).toString());
  }

得到的值全是{message=测试数据1}{message=测试数据2}{message=测试数据3}

但我实际想得到的是测试数据1  测试数据2  测试数据3

messageList 里面的值是多少哦?难道你里面的值是 "message=xxxxx"?
0
yuanyanfang1994
yuanyanfang1994

引用来自“Jony灬”的答案

引用来自“yuanyanfang1994”的答案

引用来自“Jony灬”的答案

没看懂,你是要全部放进1个textview 还是按照你这个代码 分别放入listview中的每个textview中?

放到每个textview中,我是这么写的

for(int i=0;i<messageList.size();i++){
   Log.i("message", messageList.get(i).toString());
   data.add(messageList.get(i).toString());
  }

得到的值全是{message=测试数据1}{message=测试数据2}{message=测试数据3}

但我实际想得到的是测试数据1  测试数据2  测试数据3

messageList 里面的值是多少哦?难道你里面的值是 "message=xxxxx"?

恩,

List messageList = new ArrayList();
  for(int i=0;i<5;i++){
   Map row = new CaseInsensitiveMap();
   row.put("message", "测试数据"+(i+1));
   messageList.add(row);
  }
0
Jony灬
Jony灬

引用来自“yuanyanfang1994”的答案

引用来自“Jony灬”的答案

引用来自“yuanyanfang1994”的答案

引用来自“Jony灬”的答案

没看懂,你是要全部放进1个textview 还是按照你这个代码 分别放入listview中的每个textview中?

放到每个textview中,我是这么写的

for(int i=0;i<messageList.size();i++){
   Log.i("message", messageList.get(i).toString());
   data.add(messageList.get(i).toString());
  }

得到的值全是{message=测试数据1}{message=测试数据2}{message=测试数据3}

但我实际想得到的是测试数据1  测试数据2  测试数据3

messageList 里面的值是多少哦?难道你里面的值是 "message=xxxxx"?

恩,

List messageList = new ArrayList();
  for(int i=0;i<5;i++){
   Map row = new CaseInsensitiveMap();
   row.put("message", "测试数据"+(i+1));
   messageList.add(row);
  }
你们这个设计好奇怪,为什么不直接 是值"测试数据1",而是“message=测试数据1”;这样的话你把这个“message=测试数据1”字符串拆分了吧 = =;不过这个设计不好啊
0
guhai2004
guhai2004

messageList.get(i).toString()

可能是toString()的问题吧,把对象的值直接取出来就行了,不要toString()

messageList.get(i).getMessage()

0
Jony灬
Jony灬
刚刚重新看了下你的代码,你是把一个Map对象直接toString了;所以打印的不是Map里面的值而是这个对象的toString方法,就成了key=value这种格式了;你的代码写法问题 = =
返回顶部
顶部