已有67人关注
lsitview显示mysql中的数据,web端没问题,能取出值,android端报错,求大婶指点~
发表在Android答疑区 2016-12-06
是否精华
版块置顶:

package com.example.dc;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.Map;


import org.json.JSONArray;

import org.json.JSONObject;


import com.lianjie.connect.Connect;

import com.zdm.util.Util;


import android.os.Bundle;

import android.os.StrictMode;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.Toast;


public class XZ extends Activity {


ListView listViewzh;

String[] zhtv;

String[] zhuangtai;

String zhuohaovlue;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.xuanzhuo);

if(android.os.Build.VERSION.SDK_INT > 13) {

       StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

       StrictMode.setThreadPolicy(policy);

    }

zhuohaoServlet();

listViewzh=(ListView)findViewById(R.id.listViewzh);

/**********************************************************/

        ArrayList<Map<String, Object>> mlist = new ArrayList<Map<String, Object>>();

for (int i = 0; i < zhtv.length; i++) {  //提示这句有问题

Map<String, Object> map = new HashMap<String, Object>();

map.put("zhuoming", zhtv[i]);

map.put("zzzt", zhuangtai[i]);

mlist.add(map);

}

SimpleAdapter adapter1 = new SimpleAdapter(XZ.this,

mlist,

R.layout.xuanzhuo1, 

new String[] { "zhuoming","zzzt"},

new int[] { R.id.zhtv,R.id.zhuangtai});

       listViewzh.setAdapter(adapter1);

}


private void zhuohaoServlet()

{

   

String url=Util.httpURL+"zhangdanServlet";

String paraname[]={"zhuohao"};

String paravalue[]={zhuohaovlue};

JSONArray jsonainfo =Connect.dopost(url, paraname, paravalue, 1,"info1");

if(jsonainfo==null)

{

Toast.makeText(XZ.this, "暂时无法读取数据!", Toast.LENGTH_LONG)

.show();

}

else

{

JSONObject jsonobject;

try {

zhtv=new String[jsonainfo.length()];

zhuangtai=new String[jsonainfo.length()];

for(int i=0;i<jsonainfo.length();i++)

{

jsonobject = jsonainfo.getJSONObject(i);

zhtv[i]=jsonobject.getString("zhuoming");

zhuangtai[i]=jsonobject.getString("zzzt");

}

} catch (Exception e) {

Toast.makeText(XZ.this, "读取数据失败!", Toast.LENGTH_LONG)

.show();

}

}

   }


}


布局文件中用到的控件

<TextView

            android:id="@+id/zhtv"

            android:text="" 

            android:layout_width="0px"

        android:layout_height="wrap_content"

        android:layout_weight="1"/>

    

    

    <TextView

            android:id="@+id/zhuangtai"

            android:text="" 

            android:layout_width="0px"

        android:layout_height="wrap_content"

        android:layout_weight="1"/>


分享到:
精彩评论 2
ITmens
学分:601 LV6
TA的每日心情
假期加油中
2018-08-03 21:31:23
2016-12-07
沙发

for (int i = 0; i < zhtv.length; i++) {  //提示这句有问题 这句有问题根据你的项目
可以在这句之前打印下zhtv看看是否有数据
如果没有数据 请检查下 数据请求部分代码。

具体什么问题 需要你发下 报错的错误信息 我们可以帮你具体分析下。

蒙奇奇
学分:64 LV3
2016-12-07
板凳

你在这个

for(int i=0;i<jsonainfo.length();i++)

{

jsonobject = jsonainfo.getJSONObject(i);

zhtv[i]=jsonobject.getString("zhuoming");

zhuangtai[i]=jsonobject.getString("zzzt");

}

for循环之后用log打印一下zhtv数组,看看里面有没有数据.如果执行if,没有走else,那么zhtv的数据就没有被初始化,log也打不出来。
希望以后问问题时,附带上错误的日志截图,我们也好有效的帮你解答。

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照