public class HomeFragment extends Fragment {
private ListView listView;
private ArrayList<MainViewItem> mainViewItems;
private MainViewListAdapter adapter;
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
mainViewItems = new ArrayList<MainViewItem>();
return rootView;
}
@Override
public void onStart()
{
super.onStart();
}
public void initData()
{
RequestParams params = new RequestParams();
params.put("page", "1");
AsyncHttpClient client = new AsyncHttpClient();
client.get("HTTP://link", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray jArray = parser.parse(response).getAsJsonArray();
for(JsonElement obj : jArray )
{
PhotoBoxInfo cse = gson.fromJson( obj , PhotoBoxInfo.class);
mainViewItems.add(new MainViewItem(cse));
}
}
});
}
@Override
public void onResume(){
super.onResume();
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
initData();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
listView = (ListView) getActivity().findViewById(R.id.PhotoBoxList);
adapter = new MainViewListAdapter(getActivity().getApplicationContext(),mainViewItems);
listView.setAdapter(adapter);
System.out.println(listView);
System.out.println(adapter);
}
}}
大家好。
我现在正在尝试创建一个滑动菜单和不同的片段。 所有片段都包含列表视图。
我调试应用程序后,它可以从我的数据库中获取数据,并且可以在片段视图中显示。
但是,一旦我想切换到另一个片段,然后切换回来。
列表视图消失,无法再显示。
我有谷歌问题,也许它与/已发布有关。
但我仍然不知道......
请帮帮我......
谢谢
答案 0 :(得分:0)
Finial我自己解决了
public void initData()
{
RequestParams params = new RequestParams();
params.put("page", "1");
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray jArray = parser.parse(response).getAsJsonArray();
for(JsonElement obj : jArray )
{
PhotoBoxInfo cse = gson.fromJson( obj , PhotoBoxInfo.class);
mainViewItems.add(new MainViewItem(cse));
}
adapter = new MainViewListAdapter(getActivity(),mainViewItems);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
}
});
}
这是因为异步的http请求。
Fragment重新加载但未收到数据
我在收到数据
后设置了适配器