2012-10-30 137 views
0

我想開發一個應用程序包含一個畫廊與視圖鰭狀肢。Android的viewflipper和畫廊

圖庫顯示所有圖像。我想要做的是,圖庫中顯示的圖像應顯示在圖庫中。

目前我可以在onClick上突出顯示它,但無法在兩者之間進行通信。

我嘗試使用下面的方法

viewflipper.getDisplayedChild(); 

,但它不工作。

下面是我的代碼

public class SliderActivity extends Activity 
{ 
int mFlipping = 0 ; 
public int currentimageindex=0; 
Timer timer; 
TimerTask task; 
ImageView slidingimage; 
android.widget.ViewFlipper flipper; 
Gallery gallery; 


private int[] IMAGE_IDS = 
{ 
    R.drawable.android0, R.drawable.android1,   R.drawable.android2,R.drawable.android3,R.drawable.android4 
}; 



@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mygame); 
    flipper = (android.widget.ViewFlipper) findViewById(R.id.flipper1); 

    for(int i=0;i<IMAGE_IDS.length;i++) 
    { 
    // This will create dynamic image view and add them to ViewFlipper 
     ImageView image = new ImageView(getApplicationContext()); 
     image.setBackgroundResource(IMAGE_IDS[i]); 
     flipper.addView(image); 
    } 


    gallery=(Gallery)findViewById(R.id.gallery1); 
    gallery.setAdapter(new ImageAdapter(this)); 

    if(mFlipping==0){ 
     /** Start Flipping */ 
     flipper.startFlipping(); 
     mFlipping=1; 
     //mButton.setText(R.string.str_btn_stop); 
    } 
    else{ 
     /** Stop Flipping */ 
     flipper.stopFlipping();  
     mFlipping=0; 
    // mButton.setText(R.string.str_btn_start); 
    } 

} 


public class ImageAdapter extends BaseAdapter 
{ 
     int mGalleryItemBackground; 
     private Context mContext; 

     public ImageAdapter(Context c) 
     { 
      mContext = c; 
      TypedArray a = obtainStyledAttributes(R.styleable.Theme); 
      mGalleryItemBackground = a.getResourceId(
      R.styleable.Theme_android_galleryItemBackground,0); 
      a.recycle(); 
     } 

     public int getCount() 
     { 
      return IMAGE_IDS.length; 
     } 

     public Object getItem(int position) 
     { 

      return position; 
     } 

     public long getItemId(int position) 
     { 
      return position; 


     } 

     public View getView(int position,View convertView, ViewGroup parent) 
     { 
      ImageView i = new ImageView(mContext); 
      i.setImageResource(IMAGE_IDS[position]); 
      i.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
      i.setScaleType(ImageView.ScaleType.FIT_XY); 
      i.setBackgroundResource(mGalleryItemBackground); 

      return i; 
     } 
    } 

public void onClick(View v) { 

    finish(); 
    android.os.Process.killProcess(android.os.Process.myPid()); 
    } 

}

回答

1

如果我明白你的問題......我認爲你需要使用setOnItemSelectedListener ...

gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> adapter, View gallery, 
       int position, long arg3) {   

      myPosition = position; 
          //tell your flipper something useful here using the current position of the gallery 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 

並談談你的腳蹼來自onItemSelected回調。

+0

實際查看鰭狀肢連續翻轉圖像,我只想在我的畫廊中突出顯示(當前哪個視圖鰭狀肢顯示)。根據我的代碼,我應該在哪裏製作chaog –

+0

所以,你是說你想從鰭狀肢談話到畫廊,並讓畫廊自動跟蹤鰭狀肢目前正在顯示哪些項目? –

+0

是的正確..如何做到這一點...你可以解釋代碼 –