未创建Android列表视图内容视图

时间:2018-04-17 14:54:32

标签: android android-layout android-fragments android-listfragment

我有底部导航菜单的android活动。 当我单击底部导航栏上的某个项目时,listfragment显示在活动顶部。列表片段可以通过两种方式关闭。 1.点击活动(活动中的某个地方) - 这有效 2.单击另一个项目(而不是列表片段初始化的项目)

对于ex:我点击第4项,它会在活动顶部弹出小列表片段。 当我点击活动时,它会关闭列表片段。 但是当我点击第1项时,它会抛出“内容视图尚未创建”的错误

    @Override
public View onCreateView(LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {

            View view = inflater.inflate(R.layout.list_more_technician, container, false);
     return view;
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
   // ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(),
     //       R.array.tech_array, android.R.layout.simple_list_item_1);
    Toast.makeText(getActivity(), "inside  of on activity created", Toast.LENGTH_SHORT).show();

    ArrayAdapter mBTAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1,getActivity().getResources().getStringArray(R.array.tech_array)) {

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = super.getView(position, convertView, parent);

            // Get the Layout Parameters for ListView Current Item View
            ViewGroup.LayoutParams params = view.getLayoutParams();

            // Set the height of the Item View
            params.height = 60;
            view.setLayoutParams(params);

            //TextView textView = (TextView) super.getView(position, convertView, parent);
            TextView tv = (TextView) view.findViewById(android.R.id.text1);
            tv.setVerticalScrollBarEnabled(true);
            tv.setTextColor(Color.DKGRAY);
            tv.setTextSize(15);
            //tv.setHeight(15);
             return view;
        }
    };
    setListAdapter(mBTAdapter);
    getListView().setOnItemClickListener(this);


}

1 个答案:

答案 0 :(得分:0)

尝试将getListView().setOnItemClickListener(this);移至onViewCreated

您是否可以尝试移动将适配器中的项目设置为onViewCreated的代码?