2011-07-18 23 views
0

我正在写一个Android应用程序,基本上是填充字符串数组一个ListView。数组的位置被传递给一个“细节”活动,它根据传递的位置标识设置6种不同的XML布局之一。 XML布局是ViewFlippers,我希望用户能够在它们之间来回摆动。我主要有它的工作,除了用户在ListView中选择的项目始终是“详细信息”页面上的第一项。因此,如果用户在ListView中选择第三个项目,则会显示第三个项目,但是如果他们向右滑动,则会显示第一个“细节”布局,而不是第四个,因此一切都失灵。这是我使用的填充ViewFlipper代码:我希望我能与addView的第一填充ViewFlipper,然后用getChildAt [位置]集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, 
}; 

,但好好尝试一下似乎工作。

回答

0

我不明白Ÿü[R使用View脚蹼的这么多的布局.. 如果他们有相同的相同的布局,U shud &翻转视图中使用一个单一的视图翻转。 如果你想改变视图Flipper的内容,你需要改变视图内的内容..就像image.setImageResource(imageId[2])textview.setText("###")