2012-01-15 52 views
0

我试图找到一种方法,使viewflipper可以打开到应用程序关闭时的最后一个子位置。任何帮助,将不胜感激。我对此仍然陌生。viewFlipper保存位置

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

    Toast.makeText(this, "Swipe Left or Right", Toast.LENGTH_LONG).show();  

    gestureDetector = new GestureDetector(new MyGestureDetector()); 
    View mainview = (View) findViewById(R.id.viewFlipper1); 

    // Set the touch listener for the main view to be our custom gesture listener 
    mainview.setOnTouchListener(new View.OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      if (gestureDetector.onTouchEvent(event)) { 
       return true; 
      } 
      return false; 
     } 
    }); 
} 

class MyGestureDetector extends SimpleOnGestureListener { 
    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float   `enter code here`velocityY) {   
    final ViewFlipper viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper1); 

     if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) { 
      return false; 
     } 

回答

0

我认为你可以使用Android中的SharedPreferences保存已被最后观看的应用程序被关闭前挡板的位置。因此,无论何时应用程序移至此活动,您都可以从SharedPreference中获取脚蹼的位置并调用脚蹼的属性:viewFlipper.setDisplayedChild(position retrived from SharedPreference); 这将帮助您将脚蹼移动到最后在应用程序关闭前查看的位置。我希望这会帮助你解决这个问题。