刚学android 一个关于TextView的知识。代码如下:
- Java code
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { StringBuffer sb = new StringBuffer(); String url = "http://10.0.2.2:8080/JSON_server/JSONDemoServlet"; String body = getContent(url); JSONArray array = new JSONArray(body); for (int i = 0; i < array.length(); i++) { JSONObject obj = array.getJSONObject(i); sb.append("id:").append(obj.getInt("id")).append("\t"); sb.append("name:").append(obj.getString("name")).append("\r\n"); sb.append("gender:").append(obj.getString("gender")).append("\t"); sb.append("email:").append(obj.getString("email")).append("\r\n"); sb.append("----------------------\r\n"); } TextView textView = (TextView) findViewById(R.id.textView); textView.setText("Hello"); } catch (Exception e){}
为什么textView.setText放这里,就无法设置textView的内容。运行效果如下图
textView的text内容并没改变。如果把TextView textView = (TextView) findViewById(R.id.textView);textView.setText("Hello");这两行代码放到setContentView(R.layout.main);后面就可以改变text的内容。这是为什么?
------解决方案--------------------
一般不应该在oncreate 之类的函数中做耗时太长的操作的。
估计是时间太长,系统让计算停止了。
放到线程中做网络和解析操作吧。
------解决方案--------------------
------解决方案--------------------
请参考
http://blog.csdn.net/mylzc/article/details/6736988