是否有可能在两个活动之间使用ViewFlipper,并且它们之间的发送参数相同?Android ViewFlipper With Intent
一样,在第一视图中,两个按钮被使用,这取决于按钮,应切换到超过视图(使用ViewFlipper),并使用根据按下的按钮的一些不同的逻辑。
在此先感谢。
是否有可能在两个活动之间使用ViewFlipper,并且它们之间的发送参数相同?Android ViewFlipper With Intent
一样,在第一视图中,两个按钮被使用,这取决于按钮,应切换到超过视图(使用ViewFlipper),并使用根据按下的按钮的一些不同的逻辑。
在此先感谢。
我只是创建两个类,让他们膨胀所需的布局。在每个班级中,你可以有不同的逻辑。然后,您的活动仅保留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.
}
哪里可以传递参数在这个例子中? – MDP
我已经编辑了上述答案,以更准确地满足您的需求。 – kaspermoerch
那么viewFlipper从R.id.viewFlipper看起来会是什么样子呢? –