首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android解析json文本的有关问题 一直不显示

2012-09-08 
android解析json文本的问题 一直不显示主要的是解析一下TextView文本 有8个下面这个类是解析 这个没有错成

android解析json文本的问题 一直不显示
主要的是解析一下TextView文本 有8个

下面这个类是解析 这个没有错 成功!

Java code
public static ArrayList<GamesKeyword> getGamesKeyword(Context context){          try {         ArrayList<GamesKeyword> GamesKewordText = new ArrayList<GamesKeyword>();                  HttpClient hc = new DefaultHttpClient();      .................      ................      ..............       ........... }


有一个类是得到这些数据然后显示 下面这个类  

 
Java code
protected void onCreate(Bundle savedInstanceState) {        ..........        ..........         .........          if(mThread == null){启动一个线程            Log.v("wjp", "Category_tab");            mThread = new Thread([color=#FF0000]runnables[/color]);            mThread.start();        }else {            Log.v("wjp","text");        }

   

 //启动线程到这里  

   
 
Java code
  Runnable runnables = new Runnable() {        @Override        public void run() {            try {                gamesKeywords = WebHelper.[color=#FF0000]getGamesKeyword[/color](Category_tab.this);//红色就是最上面那个解析文本的 gamesKeywords是个封装 下面代码其实这个不用多说大家都懂的                Log.v("wjp","gamesKeywords"+gamesKeywords );                if (gamesKeywords != null) {                    mHandlers.obtainMessage(MSG_SUCCESS).sendToTarget();                } else {                    Log.v("wjp", "sssss");                    mHandlers.obtainMessage(MSG_FAILURE).sendToTarget();                }            } catch (Exception e) {                Log.v("wjp", "weijinpeng");                e.printStackTrace();            }        }    };




  封装:


 
Java code
     public class GamesKeyword implements Serializable {   private static final long serialVersionUID = 1L;      private String Id;   private String keyWord;   private String sortNum;      public String getId(){       return Id;   }            public void setId(String Id){        this.Id = Id;    }        public String getKeyWord(){        return keyWord;    }        public void setKeyWord(String keyWord){       this.keyWord = keyWord;    }           public String getSortNum(){        return sortNum;    }        public void setSortNum(String sortNum){        this.sortNum = sortNum;            }            //打印    public String toString() {        StringBuilder sb = new StringBuilder(Id);        sb.append("\n");        if (keyWord != null) {            sb.append(keyWord);        }        sb.append("\n");        if (sortNum != null) {            sb.append(sortNum);        }        return sb.toString();    }


}
Java code
//重点在这里  我如何解析显示文本   一直不显示  郁闷了     private Handler mHandlers = new Handler() {        @Override        public void handleMessage(Message msg) {            switch (msg.what) {                case MSG_SUCCESS:                    Log.v("wjp", "mHandlers");//                    keywordAdapter = new GamesKeywordAdapter(Category_tab.this, gamesKeywords);//这个有必要有么?GamesKeywordAdapter适配器类                    Log.v("wip", "keywordAdapter"+keywordAdapter);//                    list.setAdapter(keywordAdapter);//                    progressDialog.dismiss();                    break;                case MSG_FAILURE://                    progressDialog.dismiss();//                    AlertDialog.Builder builder = new Builder(Category_tab.this);//                    builder.setTitle("失败");//                    builder.setPositiveButton("确定", null);//                    builder.setIcon(R.drawable.icon);//                    builder.setMessage("无法连接服务器,请检查网络设置");//                    builder.show();                    break;            }        }    } 


 如何解析后显示啊 郁闷了啊  
}

[解决办法]

mHandlers.obtainMessage(MSG_SUCCESS).sendToTarget();
改为
Java code
Message message = Message.obtain();message.what = MSG_SUCCESS;message.obj = gamesKeywords;mHandlers.sendMessage(message);
[解决办法]
>>>>mHandlers.obtainMessage(MSG_SUCCESS).sendToTarget();
这个方法之后,讲保存的数据封装到bundle

然后在handleMessage(Message msg)中通过msg.getData()应该就能取到了。

热点排行