【问题标题】:android fragment display sqlite data in listandroid片段在列表中显示sqlite数据
【发布时间】:2015-04-10 14:39:16
【问题描述】:

我试图在片段中显示来自 SQLite 数据库的列表。 我已经使用活动尝试过它并且它是成功的,但是使用片段我无法使用片段使其工作。

public class AppleFragment extends ListFragment {

    /** An array of items to display in ArrayList */
    String apple_versions[] = new String[]{
        "Mountain Lion",
        "Lion",
        "Snow Leopard",
        "Leopard",
        "Tiger"

    };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,    Bundle savedInstanceState) {
        /** Creating array adapter to set data in listview */
        ArrayAdapter<String> adapter = new ArrayAdapter<String> (getActivity().getBaseContext(),  android.R.layout.simple_list_item_multiple_choice, apple_versions);

        /** Setting the array adapter to the listview */
        setListAdapter(adapter);

        return super.onCreateView(inflater, container, savedInstanceState);
    }

    @Override
    public void onStart() {
        super.onStart();

        /** Setting the multiselect choice mode for the listview */
        getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    }

}

这只是一个例子,我想把它变成一个SQLite列表并在片段中显示。

【问题讨论】:

  • 一个小提示:您不必在创建ArrayAdapter 的地方调用getActivity().getBaseContext(),因为Activity 已经从Context 扩展而来。
  • 关注This 文档。
  • 以下文档,仍然没有成功,有任何简单的例子可以遵循。也很抱歉回复晚了。

标签: android sqlite android-fragments


【解决方案1】:
  @Override 
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_1, apple_versions);
    setListAdapter(adapter);
  } 

不要使用onCreateView,使用fragment的onActivityCreated或onViewCreated方法加载列表。

【讨论】:

  • 使用了 onViewCreated 方法,但无法从 sqlite 数据库中填充片段列表,如果有任何可用的简单示例。
猜你喜欢
  • 2015-07-19
  • 2018-04-24
  • 1970-01-01
  • 2018-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多