2011-10-14 61 views
0

是否有可能在两个活动之间使用ViewFlipper,并且它们之间的发送参数相同?Android ViewFlipper With Intent

一样,在第一视图中,两个按钮被使用,这取决于按钮,应切换到超过视图(使用ViewFlipper),并使用根据按下的按钮的一些不同的逻辑。

在此先感谢。

回答

1

我只是创建两个类,让他们膨胀所需的布局。在每个班级中,你可以有不同的逻辑。然后,您的活动仅保留ViewFlipper和切换到下一个/上一个的逻辑。

public class ViewFlipperActivity extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super(savedInstanceState); 
     setContentView(R.layout.my_viewFlipper_lauout); 

     flipper = (ViewFlipper) findViewById(R.id.viewFlipper); 

     FirstView first = new FirstView(this, flipper); 
     flipper.addView(first); 

     SecondView second = new SecondView(this, flipper); 
     flipper.addView(second); 

     first.setDataPasser(second); 
     second.setDataPasser(first); 
    } 
} 

首先查看

public class FirstView extends LinearLayout implements DataPasser { 
    private ViewFlipper flipper; 
    private DataPasser dataPasser; 

    public FirstView(Context context, ViewFlipper flipper) { 
     super(context); 
     inflate(...); 
     this.flipper = flipper; 

     // Do other stuff. 
    } 

    protected void setDataPasser(DataPasser dataPasser) { 
    this.dataPasser = dataPasser; 
    } 

    //Implement the other methods required by your interface. 
} 

第二个视图

public class SecondView extends LinearLayout { 
    private ViewFlipper flipper; 
    private DataPasser dataPasser; 

    public SecondView(Context context, ViewFlipper flipper) { 
     super(context); 
     inflate(...); 
     this.flipper = flipper; 

     // Do other stuff. 
    } 

    protected void setDataPasser(DataPasser dataPasser) { 
    this.dataPasser = dataPasser; 
    } 

    //Implement the other methods required by your interface. 
} 

然后,当你需要的时候改变任何的firstView或SecondView视图,你叫flipper.showNext()flipper.showPrevious()

编辑

要通过这两种观点之间的数据,就可以实现在活动类用于此目的的一些方法,然后让两个视图保持到活动的参考。另一种方法是创建两个视图必须实现一个接口:

interface DataPasser { 
    void setDataPasser(DataPasser dataPasser); //To be able to add each view to the other. 
    void passData(Data data); //Or other methods needed to pass the data. 
} 
+0

哪里可以传递参数在这个例子中? – MDP

+0

我已经编辑了上述答案,以更准确地满足您的需求。 – kaspermoerch

+0

那么viewFlipper从R.id.viewFlipper看起来会是什么样子呢? –

0

名称应该告诉you.You可以在两个intents.So之间两个视图间切换不是更好尝试两种观点,而不是两个活动之间翻转。

+0

那么我怎样才能传递参数与视图鳍状肢。 – MDP

+0

在这种情况下,你可以使用你自己的逻辑。我认为没有其他的选择。 –

+0

你对这个问题有什么想法吗? – MDP