Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将视图从一个视图组移动到另一个视图组_Android_Android Layout - Fatal编程技术网

Android 如何将视图从一个视图组移动到另一个视图组

Android 如何将视图从一个视图组移动到另一个视图组,android,android-layout,Android,Android Layout,我在main活动中有LinearLayout1、LinearLayout2和按钮。单击按钮时,我希望它从LinearLayout1跳到LinearLayout2。我如何才能做到这一点?您可以隐藏和显示其中一个,例如: LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1); LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.i

我在
main活动中有
LinearLayout1
LinearLayout2
按钮
。单击
按钮时,我希望它从
LinearLayout1
跳到
LinearLayout2
。我如何才能做到这一点?

您可以隐藏和显示其中一个,例如:

LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1);
LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.id.linearlayout_1);

mLinearLayout1.setVisibility(View.GONE);
mLinearLayout2.setVisibility(View.VISIBLE);

但是,如果您想显示隐藏具有不同行为的某些视图,我建议您使用片段。

您可以这样做:

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);  

      }
    });

因为我不允许评论名声不好的人,所以写下我的意见作为答案请不要因为这个原因而投反对票。

不太清楚您想要什么以及为什么想要描述中所写的内容


如果您希望在主活动上显示多个不同视图(非线性布局)中的一个(可能取决于条件、状态引擎或基于时间的间隔),您可能可以使用ViewFlipper

,这要感谢大家,特别是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);


                }
    });
}

}

如果该布局中有其他元素,该怎么办?我希望它只发生在特定的臀部,去掉
removeView()
addView()
方法的
ViewGroup
,其中
LinearLayout
是一个子类。