Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用片段的SlideView_Android_Android Fragments_Slider_Fragment - Fatal编程技术网

Android 使用片段的SlideView

Android 使用片段的SlideView,android,android-fragments,slider,fragment,Android,Android Fragments,Slider,Fragment,我正在开发一个应用程序,其中使用了一个tablayout,其中显示了4个选项卡,这是一个片段。我的一个选项卡使用了一个幻灯片,其中显示了一个包含4个选项的listview,现在我被困在它的单击事件中。我想在listview单击时打开一个新布局。搜索了很多次,但没有得到一个与片段相关的代码。请帮帮我。谢谢你的帮助 NewChattFragment: public class NewChatFragment extends Fragment { private DrawerLayout

我正在开发一个应用程序,其中使用了一个tablayout,其中显示了4个选项卡,这是一个片段。我的一个选项卡使用了一个幻灯片,其中显示了一个包含4个选项的listview,现在我被困在它的单击事件中。我想在listview单击时打开一个新布局。搜索了很多次,但没有得到一个与片段相关的代码。请帮帮我。谢谢你的帮助

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;
    }
}
NewChattFragment:
公共类NewChatFragment扩展了片段
{
私人抽屉布局;
私人视图抽屉视图;
私有列表视图列表视图1;
私人ArrayList arrayProvider;
专用雷达适配器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@SuppressLint(“NewApi”)@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.layout.newchat\u布局,容器,错误);
arrayProvider=新的ArrayList();
arrayProvider.add(新出票人(“1对1”);
arrayProvider.add(新出票人(“集团”));
arrayProvider.add(新抽屉(“视频通话”));
arrayProvider.add(新抽屉(“广播”));
arrayProvider.add(新抽屉(“闪烁”);
listView1=(ListView)v.findViewById(R.id.left\u抽屉);
adapter=新的抽屉指针(getActivity(),arrayProvider);
listView1.setAdapter(适配器);
抽屉布局=(抽屉布局)v.findViewById(R.id.drawer\u布局);
抽屉视图=(视图)v.findViewById(R.id.drawer);
抽屉布局。打开抽屉(抽屉视图);
返回v;
}
}

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

    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;
        }
    }
}
公共类NavigationListFragment扩展ListFragment{
私有静态最终字符串标记=NavigationListFragment.class.getName();
MenuAdapter MenuAdapter;
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
返回充气机。充气(R.layout.navigation\u列表,空);
}
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
menuAdapter=新的menuAdapter(getActivity());
menuAdapter.add(新的菜单项(“1对1”,R.drawable.search_icon_select));
添加(新的菜单项(“组”,R.drawable.cuse_图标));
添加(新的菜单项(“视频通话”,R.drawable.cart_图标));
添加(新的菜单项(“广播”,R.drawable.post_图标));
添加(新菜单项(“闪烁”,R.drawable.Setting_图标));
getListView()
.setDivider(新的可着色(Color.parseColor(“#FFFFFF”)));
getListView().setDividerHeight(1);
setListAdapter(菜单适配器);
}
私有类菜单项{
公共字符串标签;
公共国际学院;
公共菜单项(字符串标记,int-iconRes){
this.tag=tag;
this.iconRes=iconRes;
}
}
公共类MenuAdapter扩展了ArrayAdapter{
公共菜单适配器(上下文){
超级(上下文,0);
}
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=LayoutFlater.from(getContext())。充气(
R.layout.cell_导航,空);
}
ImageView图标=(ImageView)convertView
.findViewById(R.id.row_图标);
icon.setImageResource(getItem(position).iconRes);
TextView标题=(TextView)convertView
.findViewById(R.id.行标题);
title.setText(getItem(position.tag);
返回视图;
}
}
@凌驾
public void onListItemClick(列表视图lv、视图v、整数位置、长id){
开关(位置){
案例0:
//单击事件进行1对1
打破
案例1:
//单击组的事件
打破
案例2:
//单击事件进行视频通话
打破
案例3:
//单击事件进行广播
打破
案例4:
//单击事件进行闪烁
打破
}
}
}

我使用的是Fragmentactivity,其中我使用的是这4个选项卡,它们都是片段。如果我选择ListFragment,它不会正确转换。我的想法是在代码中使用自定义适配器,而不是类。