Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.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 在Listview的第一行添加ViewFlipper_Android_Android Listview_Android Viewpager - Fatal编程技术网

Android 在Listview的第一行添加ViewFlipper

Android 在Listview的第一行添加ViewFlipper,android,android-listview,android-viewpager,Android,Android Listview,Android Viewpager,我想在列表视图的第一行设置一个视图翻转器,如下所示 我可以单独将view flipper设置在listview的顶部,如下所示: mListView = (ListView) findViewById( R.id.mainListView ); viewFlipper =(ViewFlipper)findViewById(R.id.viewFlipper1); setViewFlipperView(); CustomGestureDetector customGestureDetector =

我想在
列表视图的第一行设置一个
视图翻转器
,如下所示

我可以单独将view flipper设置在listview的顶部,如下所示:

mListView = (ListView) findViewById( R.id.mainListView );
viewFlipper =(ViewFlipper)findViewById(R.id.viewFlipper1);
setViewFlipperView();
CustomGestureDetector customGestureDetector = new CustomGestureDetector();
mGestureDetector = new GestureDetector(this, customGestureDetector);

String[] abc = new String[] { "A", "B", "C", "D",
                                  "E", "F", "G", "H","I","J","K","L","M","N","O","P","Q","R","S"
                                  ,"T","U","V","W","X","Y","Z"};  
ArrayList<String> abcList = new ArrayList<String>();
abcList.addAll( Arrays.asList(abc) );

listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, abcList);
mListView.setAdapter( listAdapter );

private View setViewFlipperView(){
  int[] resources = {
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher,
            R.drawable.ic_launcher
    };

    for (int i = 0; i < resources.length; i++) {
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(resources[i]);
        viewFlipper.addView(imageView,i);
    }
  return viewFlipper;

 }
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
     mGestureDetector.onTouchEvent(ev);
    return super.dispatchTouchEvent(ev);
}
 @Override
public boolean onTouchEvent(MotionEvent event) {
    mGestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}
 class CustomGestureDetector extends GestureDetector.SimpleOnGestureListener    {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float   velocityX, float velocityY) {
             // Swipe left (next)
            if (e1.getX() > e2.getX()) {
                viewFlipper.setInAnimation(context, R.anim.left_in);
                viewFlipper.setOutAnimation(context, R.anim.left_out);

                viewFlipper.showNext();
            }

            // Swipe right (previous)
            if (e1.getX() < e2.getX()) {
                viewFlipper.setInAnimation(context, R.anim.right_in);
                viewFlipper.setOutAnimation(context, R.anim.right_out);

                viewFlipper.showPrevious();
            }

            return super.onFling(e1, e2, velocityX, velocityY);
        }
    }
mListView=(ListView)findViewById(R.id.mainListView);
viewFlipper=(viewFlipper)findViewById(R.id.viewFlipper1);
setViewFlipperView();
CustomGestureDetector CustomGestureDetector=新CustomGestureDetector();
mGestureDetector=新的GestureDetector(这是customGestureDetector);
字符串[]abc=新字符串[]{“A”、“B”、“C”、“D”,
“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”
,“T”,“U”,“V”,“W”,“X”,“Y”,“Z”};
ArrayList abcList=新的ArrayList();
abcList.addAll(Arrays.asList(abc));
listAdapter=newarrayadapter(this,R.layout.simplerow,abcList);
mListView.setAdapter(listAdapter);
私有视图setViewFlipperView(){
int[]资源={
R.drawable.ic_发射器,
R.drawable.ic_发射器,
R.drawable.ic_发射器,
R.drawable.ic_发射器,
R.drawable.ic_发射器,
R.牵引式ic_发射器
};
for(int i=0;ie2.getX()){
viewFlipper.setInAnimation(上下文,R.anim.left_in);
viewFlipper.setOutAnimation(上下文,R.anim.left_out);
viewFlipper.showNext();
}
//向右滑动(上一个)
if(e1.getX()
xml看起来像:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ViewFlipper
    android:id="@+id/viewFlipper1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ViewFlipper>

<ListView android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:id="@+id/mainListView">
</ListView>


但是当滚动
listview
视图翻转器保持在顶部时,现在我的问题是,是否可以将
ViewFlipper
设置在
listview
的顶行,以便它在
listview
滚动时也滚动。我想我的问题很清楚。请帮助。

问题已解决我已获得问题的解决方案,方法是将
viewflipper
视图添加为Listview
mListView.addHeaderView(FliperView)的
HeaderView
,现在viewFlipper视图也在滚动listview项我在代码中做了一些更改:

 LayoutInflater  inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
convertViewHeader = inflater.inflate(R.layout.myflipperiew , null);
ViewFlipper flipper=(ViewFlipper)convertViewHeader.findViewById(R.id.myflipper);
mListView = (ListView) findViewById( R.id.mainListView );
mListView.addHeaderView(flipper);

就这么做。。将视图翻转器添加为listview的标题。若在列表视图中只需要一个视图翻转器,那个么它可以正常工作。如果需要更多,则应在适配器getView()中执行此操作


你想用什么就用什么。如果有任何疑问,请告诉我

@AmarbirSingh url未打开您可以在listview上添加虚拟视图。只需将viewflipper布局添加为listview的标题:)
LayoutInflater  inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
convertViewHeader = inflater.inflate(R.layout.YourFlipperview , null);
ViewFlipper flipper=(ViewFlipper)convertViewHeader.findViewById(R.id.flipperId); 

listView.addHeaderView(convertViewHeader, null, false);