【问题标题】:Set ViewFlipper in order按顺序设置 ViewFlipper
【发布时间】:2011-07-19 16:53:36
【问题描述】:

我正在编写一个 Android 应用程序,它基本上是一个填充了字符串数组的 ListView。数组位置被传递给“详细信息”活动,该活动根据传递的位置 id 设置 6 种不同的 XML 布局之一。 XML 布局是 ViewFlippers,我希望用户能够在它们之间来回切换。我主要让它工作,除了用户在 ListView 中选择的项目始终是“详细信息”页面上的第一项。因此,如果用户在 ListView 中选择了第 3 项,则显示第 3 项,但如果他们向右滑动,则显示第 1 个“详细信息”布局,而不是第 4 个,因此一切都乱了套。这是我用来填充 ViewFlipper 的代码:

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

        Bundle bun = getIntent().getExtras();
        int position = bun.getInt("position");

        setContentView(fullId[position]);

        viewFlipper = (ViewFlipper)findViewById(flipId[position]);

        for (int i = 0; i < fullId.length; i++)
            viewFlipper.addView(ViewFlipper.inflate(this, fullId[i], null));

        slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);
        slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);
        slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);
        slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);

        gestureDetector = new GestureDetector(new MyGestureDetector());

        gestureListener = new View.OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                if (gestureDetector.onTouchEvent(event)) {
                    return true;
                }
                return false;
            }
        };
    }

 private Integer[] fullId = {
    R.layout.details1, 
         R.layout.details2,
         R.layout.details3,
         R.layout.details4,
         R.layout.details5,
         R.layout.details6,
         R.layout.details7,
 };

 private Integer[] flipId = {
         R.id.flip1, 
         R.id.flip2,
         R.id.flip3,
         R.id.flip4,
         R.id.flip5,
         R.id.flip6,
         R.id.flip7,
 };  

我希望我可以先用 addView 填充 ViewFlipper,然后使用 getChildAt[position],但这似乎不起作用。

【问题讨论】:

    标签: android viewflipper


    【解决方案1】:

    我不明白你使用了这么多的 View Flippers 布局.. 如果它们具有相同的布局,则应使用单个 View Flipper,并在其中使用 Flip Views。 如果您想更改视图 Flipper 的内容,您需要更改其中的视图内容.. 像 image.setImageResource(imageId[2])textview.setText("###")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 2012-12-03
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多