LinearLayout1
中有LinearLayout2
,Button
和MainActivity
。当我点击Button
时,我希望它从LinearLayout1
跳转到LinearLayout2
。我怎么能这样做?
答案 0 :(得分:0)
你可以这样做:
LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.linearlayout_1);
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mLinearLayout1.setVisibility(View.GONE);
mLinearLayout2.setVisibility(View.VISIBLE);
}
});
答案 1 :(得分:0)
由于我不被允许评论声誉较低,所以写我的输入作为答案。 请不要因为这个原因而拒绝投票。
不太清楚你想要什么以及为什么要写在描述中。
如果您希望在主活动上显示许多不同视图(而不是LinearLayouts)中的一个(可能取决于条件或状态引擎或基于时间的间隔),您可能可以使用 ViewFlipper 强>
答案 2 :(得分:0)
非常感谢Mike M 我得到了答案:
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
final LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.liner1);
final LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.liner2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mLinearLayout1.removeView(button);
mLinearLayout2.addView(button);
}
});
}
}
答案 3 :(得分:-1)
您可以隐藏和显示其中一个,例如:
LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.id.linearlayout_1);
mLinearLayout1.setVisibility(View.GONE);
mLinearLayout2.setVisibility(View.VISIBLE);
但是如果你想隐藏一些具有不同行为的观点,我建议你使用片段。