【问题标题】:(android)Sliding Menu to change Fragment, the List view has gone(android)Sliding Menu改变Fragment,List视图没了
【发布时间】:2014-03-03 17:12:21
【问题描述】:
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);

}

}}

大家好。

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

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

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

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

我google了这个问题,可能与发布的/有关。

但我还是不知道......

请帮帮我...

谢谢

【问题讨论】:

  • 而且,每次接收数据都是成功的。我很确定不是网络问题

标签: android listview fragment adapter slidingmenu


【解决方案1】:

最后我自己解决了

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 重新加载,但没有收到数据

收到数据后设置适配器

【讨论】:

    猜你喜欢
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    相关资源
    最近更新 更多