(android)滑动菜单更改片段,列表视图已经消失

时间:2014-03-03 17:12:21

标签: android listview fragment adapter slidingmenu

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);

}

}}

大家好。

我现在正在尝试创建一个滑动菜单和不同的片段。 所有片段都包含列表视图。

我调试应用程序后,它可以从我的数据库中获取数据,并且可以在片段视图中显示。

但是,一旦我想切换到另一个片段,然后切换回来。

列表视图消失,无法再显示。

我有谷歌问题,也许它与/已发布有关。

但我仍然不知道......

请帮帮我......

谢谢

1 个答案:

答案 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重新加载但未收到数据

我在收到数据

后设置了适配器