Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 在按钮上滑动查看寻呼机项目单击-导航_Android_Android Listview_Android Viewpager - Fatal编程技术网

Android 在按钮上滑动查看寻呼机项目单击-导航

Android 在按钮上滑动查看寻呼机项目单击-导航,android,android-listview,android-viewpager,Android,Android Listview,Android Viewpager,我有一个查看寻呼机项目列表,其中每一行都有查看寻呼机项目。我想为一个视图寻呼机项目创建一个布局类型,如所附的图片所示,用户也应该能够使用箭头单击来移动视图寻呼机 我无法获得如何实现相同的功能,以下是我的列表适配器和寻呼机适配器代码: ListView-GetView ViewHolder holder; if(rowView==null){ holder = new ViewHolder(); LayoutInflater inflater = (La

我有一个查看寻呼机项目列表,其中每一行都有查看寻呼机项目。我想为一个视图寻呼机项目创建一个布局类型,如所附的图片所示,用户也应该能够使用箭头单击来移动视图寻呼机

我无法获得如何实现相同的功能,以下是我的列表适配器和寻呼机适配器代码:

ListView-GetView

 ViewHolder holder;
    if(rowView==null){
        holder = new ViewHolder();
        LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        rowView = inflater.inflate(R.layout.horizontal_list_item, parent,
                false);
        MyPagerAdapter adapter = new MyPagerAdapter(context);
        ViewPager myPager = (ViewPager) rowView.findViewById(R.id.mypager);
        myPager.setAdapter(adapter);
        myPager.setCurrentItem(4, true);

        rowView.setTag(holder);
    }
    else{
        holder = (ViewHolder) rowView.getTag();
    }
PagerAdapter

 @Override
 public Object instantiateItem(View container, final int position) {
LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout layout = (LinearLayout) inflater.inflate(
        R.layout.inner_layout_file, null);

TextView tv_view = (TextView) layout.findViewById(R.id.text);
tv_view.setText("Example Item " + position);
((ViewPager) container).addView(layout);

});
return layout;
寻呼机项目布局(内部布局文件)



我无法找到在运行时在何处添加箭头以及在何处执行单击。我想使用左右两侧的箭头滑动寻呼机视图

您应该在ListView中为寻呼机充气,并在那里设置适配器

这就是你能做到的

public View getView(int position, View view, ViewGroup vGroup) {
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        vRow=view;
        final ContentHolder holder;
        if(view==null){
            holder=new ContentHolder();

                        //infalte your viewPager here

            vRow=inflater.inflate(R.layout.activity_swipe_view_pager, null);
            holder.vPager=(ViewPager) vRow.findViewById(R.id.ui_pager);
            holder.radiogrp=(RadioGroup) vRow.findViewById(R.id.ui_radiogroup);
            addRadio=new AddRadioViewSwipe(context, pageCount);
            addRadio.addRadio(holder.radiogrp);
            holder.radiogrp.getChildAt(0).setAlpha(1.0f);
            holder.vPager.setTag(R.id.ui_pager, "hold");
            vRow.setTag(holder);
        }
        else{
            holder=(ContentHolder) vRow.getTag();
        }

        pagerAdpt=new ViewPagerAdapter(context, integer,R.layout.activity_viewpager_model);
        Parcelable state=holder.vPager.onSaveInstanceState();

                 //set your adapter here

        holder.vPager.setAdapter(pagerAdpt);

        holder.vPager.setOffscreenPageLimit(integer.length);
        holder.vPager.setTag(position);
        Float den = (float) context.getResources().getDisplayMetrics().densityDpi;
        holder.vPager.setPageMargin((int) -den);
        holder.vPager.onRestoreInstanceState(state);
        holder.vPager.setOnPageChangeListener(new OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                for(int i=0;i<pageCount;i++){
                    holder.radiogrp.getChildAt(pageCount-(i+1)).setAlpha(0.5f);
                }                   
                holder.radiogrp.getChildAt(position).setAlpha(1.0f);
            }

            @Override
            public void onPageScrolled(int position, float arg1, int arg2) {

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
        return vRow;
    }
public View getView(int位置、视图视图、视图组vGroup){
充气器=(充气器)上下文
.getSystemService(上下文布局\充气机\服务);
vRow=视图;
最终内容持有人;
如果(视图==null){
holder=新的ContentHolder();
//在此处插入您的viewPager
vRow=充气机。充气(R.layout.activity\u swipe\u view\u pager,空);
holder.vPager=(ViewPager)vRow.findViewById(R.id.ui_pager);
holder.RadioRP=(RadioGroup)vRow.findViewById(R.id.ui_RadioGroup);
addRadio=新的AddRadioViewSwipe(上下文、页面计数);
addRadio.addRadio(支架.射线照片);
支架.射线照片.getChildAt(0).setAlpha(1.0f);
holder.vPager.setTag(R.id.ui_pager,“hold”);
vRow.setTag(支架);
}
否则{
holder=(ContentHolder)vRow.getTag();
}
pagerAdpt=新的ViewPagerAdapter(上下文、整数、R.layout.activity\u viewpager\u模型);
可包裹状态=holder.vPager.onSaveInstanceState();
//在这里设置适配器
固定器vPager setAdapter(pagerAdpt);
holder.vPager.setOffscreenPageLimit(整数长度);
保持架.vPager.setTag(位置);
Float den=(Float)context.getResources().getDisplayMetrics().densityDpi;
holder.vPager.setPageMargin((int)-den);
holder.vPager.onRestoreInstanceState(状态);
holder.vPager.setOnPageChangeListener(新的OnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){

对于(int i=0;我已经看到了:。上的示例,我相信这与它们实现的差不多,只是使用制表符。@cYrixmorten不,也不想看到。它更复杂,并且不是较低版本的解决方案too@Raghunandan,你能帮我找到答案吗?我能问一下这里的“整数”是什么吗?尽管你给出了答案我的回答不符合我的要求query@Gaurav当然…integer是我的ViewPager图像的数组integer[];对于任意一侧的设置按钮,您都可以在ViewPager布局中进行设置,但在使用view pager时,我无法管理单击列表
public View getView(int position, View view, ViewGroup vGroup) {
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        vRow=view;
        final ContentHolder holder;
        if(view==null){
            holder=new ContentHolder();

                        //infalte your viewPager here

            vRow=inflater.inflate(R.layout.activity_swipe_view_pager, null);
            holder.vPager=(ViewPager) vRow.findViewById(R.id.ui_pager);
            holder.radiogrp=(RadioGroup) vRow.findViewById(R.id.ui_radiogroup);
            addRadio=new AddRadioViewSwipe(context, pageCount);
            addRadio.addRadio(holder.radiogrp);
            holder.radiogrp.getChildAt(0).setAlpha(1.0f);
            holder.vPager.setTag(R.id.ui_pager, "hold");
            vRow.setTag(holder);
        }
        else{
            holder=(ContentHolder) vRow.getTag();
        }

        pagerAdpt=new ViewPagerAdapter(context, integer,R.layout.activity_viewpager_model);
        Parcelable state=holder.vPager.onSaveInstanceState();

                 //set your adapter here

        holder.vPager.setAdapter(pagerAdpt);

        holder.vPager.setOffscreenPageLimit(integer.length);
        holder.vPager.setTag(position);
        Float den = (float) context.getResources().getDisplayMetrics().densityDpi;
        holder.vPager.setPageMargin((int) -den);
        holder.vPager.onRestoreInstanceState(state);
        holder.vPager.setOnPageChangeListener(new OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                for(int i=0;i<pageCount;i++){
                    holder.radiogrp.getChildAt(pageCount-(i+1)).setAlpha(0.5f);
                }                   
                holder.radiogrp.getChildAt(position).setAlpha(1.0f);
            }

            @Override
            public void onPageScrolled(int position, float arg1, int arg2) {

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
        return vRow;
    }