【问题标题】:SliderView using Fragments使用片段的 SliderView
【发布时间】:2014-06-30 14:05:29
【问题描述】:

我正在开发一个应用程序,其中使用了一个选项卡布局,其中显示了 4 个选项卡,这是一个片段。我的一个选项卡我正在使用一个滑动条,其中我正在显示 4 个选项的列表视图,现在我被卡住了在其单击事件中。我想在列表视图单击上打开一个新布局。搜索了很多,但没有得到与片段相关的单个代码。请帮帮我。谢谢你的帮助

NewChattFragment:

public class NewChatFragment extends Fragment

{

    private DrawerLayout drawerLayout; 

    private View drawerView;

    private ListView listView1;

    private ArrayList<drawer> arrayProvider;

    private drawerAdapter adapter;


   @Override

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

   @SuppressLint("NewApi") @Override

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

    View v = inflater.inflate(R.layout.newchatfragment_layout, container, false);

    arrayProvider = new ArrayList<drawer>();
    arrayProvider.add(new drawer("1-to-1"));
    arrayProvider.add(new drawer("Group"));
    arrayProvider.add(new drawer("Video Call"));
    arrayProvider.add(new drawer("Broadcast"));
    arrayProvider.add(new drawer("Blink"));

    listView1 = (ListView) v.findViewById(R.id.left_drawer);

    adapter = new drawerAdapter(getActivity(), arrayProvider);

     listView1.setAdapter(adapter);

     drawerLayout = (DrawerLayout) v.findViewById(R.id.drawer_layout);

     drawerView = (View)v.findViewById(R.id.drawer);

     drawerLayout.openDrawer(drawerView);

    return v;
    }
}

【问题讨论】:

    标签: android android-fragments slider fragment


    【解决方案1】:

    请参考该类创建导航列表,并获取其列表视图,希望对您有所帮助,

        public class NavigationListFragment extends ListFragment {
    
        private static final String TAG = NavigationListFragment.class.getName();
    
        MenuAdapter menuAdapter;
    
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            return inflater.inflate(R.layout.navigation_list, null);
        }
    
        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    
            menuAdapter = new MenuAdapter(getActivity());
    
            menuAdapter.add(new MenuItem("1-to-1", R.drawable.search_icon_select));
            menuAdapter.add(new MenuItem("Group", R.drawable.cuse_icon));
            menuAdapter.add(new MenuItem("Video Call", R.drawable.cart_icon));
            menuAdapter.add(new MenuItem("Broadcast", R.drawable.post_icon));
            menuAdapter.add(new MenuItem("Blink", R.drawable.settting_icon));
    
            getListView()
                    .setDivider(new ColorDrawable(Color.parseColor("#FFFFFF")));
            getListView().setDividerHeight(1);
    
            setListAdapter(menuAdapter);
        }
    
        private class MenuItem {
            public String tag;
            public int iconRes;
    
            public MenuItem(String tag, int iconRes) {
                this.tag = tag;
                this.iconRes = iconRes;
            }
        }
    
        public class MenuAdapter extends ArrayAdapter<MenuItem> {
    
            public MenuAdapter(Context context) {
                super(context, 0);
            }
    
            public View getView(int position, View convertView, ViewGroup parent) {
                if (convertView == null) {
                    convertView = LayoutInflater.from(getContext()).inflate(
                            R.layout.cell_navigation, null);
                }
                ImageView icon = (ImageView) convertView
                        .findViewById(R.id.row_icon);
                icon.setImageResource(getItem(position).iconRes);
                TextView title = (TextView) convertView
                        .findViewById(R.id.row_title);
                title.setText(getItem(position).tag);
    
                return convertView;
            }
        }
    
        @Override
        public void onListItemClick(ListView lv, View v, int position, long id) {
            switch (position) {
            case 0:
                //click event for 1-to-1
                break;
    
            case 1:
                //click event for Group
                break;
    
            case 2:
                //click event for Video Call
                break;
    
            case 3:
                //click event for Broadcast
                break;
    
            case 4:
                //click event for Blink
                break;
            }
        }
    }
    

    【讨论】:

    • 我正在使用 Fragmentactivity,其中我正在使用这 4 个选项卡,它们是片段。如果我选​​择 ListFragment,它不会正确转换。
    • 想法是在我的代码中使用自定义适配器,而不是类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多