2011-07-18 36 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("###")