Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android截击列表视图未显示_Android_Json_Listview_Android Volley - Fatal编程技术网

Android截击列表视图未显示

Android截击列表视图未显示,android,json,listview,android-volley,Android,Json,Listview,Android Volley,问题:Android截击列表视图未显示 描述:试图以listview格式获取Json数据,在logcat中显示,即使我能够正确解析它。 但当我尝试在片段中运行它时,它不会只显示任何内容 这是一个错误 W/AblistView:打算对不存在的数据进行操作,childcount=0,mFirstPosition=0,mItemCount=0,适配器计数=0,mAdapter=com.brillmindz.roomshare。CustomListAdapter@3fbf203f,action=0,ma

问题:Android截击列表视图未显示

描述:试图以listview格式获取Json数据,在logcat中显示,即使我能够正确解析它。 但当我尝试在片段中运行它时,它不会只显示任何内容 这是一个错误

W/AblistView:打算对不存在的数据进行操作,childcount=0,mFirstPosition=0,mItemCount=0,适配器计数=0,mAdapter=com.brillmindz.roomshare。CustomListAdapter@3fbf203f,action=0,mactivePointId=0,mScrollY=0,this=android.widget.ListView{1752f18f V.ED.VC………0,0-540691 35; 7f0d004c app:id/homelistView}

这是密码

主页片段

CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){

View rootView=充气机。充气(R.layout.content\u main,容器,false);
//usersList=newarraylist();
listView=(listView)rootView.findViewById(R.id.homelistView);
adapter=新的CustomListAdapter(此为hotelLists);
setAdapter(适配器);
pDialog=newprogressdialog(getContext());
//在发出http请求之前显示进度对话框
设置消息(“加载…”);
pDialog.show();
final StringRequest jsonObjReq=新StringRequest(Request.Method.POST、url\u shareroom、new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
Log.d(标签、响应);
pDialog.disclose();
HotelList HotelList=新HotelList();
//adapter.notifyDataSetChanged();
试一试{
JSONObject JSONObject=新JSONObject(响应);
字符串hotelsDetailsArray=jsonObject.getString(“hotelsDetails”);
Log.d(“酒店名称:”,hotelsDetailsArray);
JSONArray JSONArray=新JSONArray(hotelsDetailsArray);

对于(inti=0;i您不解析截击响应上的任何内容 在本部分中,您应该解析响应并将其添加到适配器中

@Override

        public void onResponse(String response) {

            Log.d(TAG, response);
            //parse data and add to adapter
            pDialog.dismiss();
}
另外,在截击回应之前,你的列表的首字母在哪里


如果您的响应是jsonobject,请使用JsonRequest而不是StringRequest,您不会在截取响应上解析任何内容 在本部分中,您应该解析响应并将其添加到适配器中

@Override

        public void onResponse(String response) {

            Log.d(TAG, response);
            //parse data and add to adapter
            pDialog.dismiss();
}
另外,在截击回应之前,你的列表的首字母在哪里


如果您的响应是jsonobject,请使用JsonRequest而不是StringRequest。您正在适配器中设置一个空列表,当您从后端获取数据并使用数据更新列表时,您不会使用列表中的新数据更新适配器。只需调用
适配器。notifyDatasetChanged()
在使用数据更新列表后。这应该会使它正常工作。

您正在适配器中设置一个空列表,当您从后端获取数据并使用数据更新列表时,您不会使用列表中的新数据更新适配器。只需调用
适配器。notifyDatasetChanged()
在用数据更新列表后。这应该会使它工作。

在解析完
JSON
之后,即:在
try/catch
块之后,执行以下操作

adapter = new CustomListAdapter(this,newHotelLists);
listView.setAdapter(adapter);
adapter.notifyDatasetChanged();

newHotelsList
是您下载的新酒店列表。

解析完
JSON
后,即:在
try/catch
块之后,执行以下操作

adapter = new CustomListAdapter(this,newHotelLists);
listView.setAdapter(adapter);
adapter.notifyDatasetChanged();


newHotelsList
是您下载的新酒店列表。

非常感谢您的帮助,但我没有收到“列表首字母”是什么?我在主页片段中这样做了(响应更新)。请看一看如何在字符串请求中添加jsonObject请求?仍然没有显示任何列表。我哪里出错了?我键入的是错误的。我的意思是使用JSONRequest而不是StringRequestsend您的api为我检查截取请求这里的api(POST)用户ID:80(如果显示无效请求)非常感谢你们的支持,但我没有得到什么“初始列表”?我在主页片段中做到了(回复更新)。请看一看如何在字符串请求中添加jsonObject请求?仍然没有显示任何列表。我哪里出错了?我键入的是错误的。我的意思是使用JSONRequest而不是StringRequestsend您的api为我检查截取请求这里的api(POST)用户ID:80(如果显示无效请求)未来注意事项:创建一个。不要只转储一大块代码谢谢,我会记住,但是必须发布大块代码,这样人们才能知道如何发现问题。我知道,但您的问题中包含了许多日志语句,如果您使用Gson,那么您的JSON解析将非常简短。注意:创建一个。不要只转储一大块代码f代码谢谢,我会记住,但是必须发布大的代码块,这样人们才能知道如何发现问题。我知道,但是你的问题中包含了很多日志语句,如果你使用Gson,那么你的JSON解析就会短得多。你添加了什么?你能更新问题中的代码吗?更新了Homepagefragment,添加了代码的JUt位于json异常旁边。请查看@Override public int getCount(){-->return hotelItems.size();}你在哪里添加它?你能更新问题中的代码吗?更新了Homepagefragment,代码添加在json异常旁边。请查看@Override public int getCount(){-->return hotelItems.size();}处的nullpointerexception。首先将其转换为BaseAdapter。例如:adapter=new CustomListAdapter(this,newHotelLists);listView.setAdapter(adapter);//现在将适配器强制转换为BaseAdapter BaseAdapter=(BaseAdapter)adapter;BaseAdapter.notifyDatasetChanged();它现在应该可以工作了。在日志cat:adapter='this'不可用hotelLists='this'不可用listView='this'不可用hotelList={HotelList@4148}答复={String@4147}{“成功”:“1”…:“联合St”this={HomePageFragment$1@4142}“this”不可用。我猜adapter=newcustomlistadapter(this,newHotelLi
adapter = new CustomListAdapter(this,newHotelLists);
listView.setAdapter(adapter);
adapter.notifyDatasetChanged();