android启动活动2,但在主活动中休息

f2uvfpb9  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(389)

我有一个mainactivity,它有一个打开activity 2的按钮。活动2的所有内容都应该计算并运行,但是用户应该在mainactivity上休息?我该怎么做?
我找到了一个解决方案,我不运行“setcontentview()”,但我的应用程序崩溃了。

disbfnqx

disbfnqx1#

您希望更改应用程序的视图,但不希望用户更改活动。
在id为的xml文件中使用两种不同的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/first_view">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1"
            android:id="@+id/button"
            android:background="#358a32" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/second_view"
        android:visibility="gone">
    </LinearLayout>
<LinearLayout>

然后单击按钮:

public class MainActivity extends Activity {
    boolean firstViewOff = false;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        Button button = (Button) findViewById(R.id.button1);
        LinearLayout first_view = (LinearLayout) findViewById(R.id.first_view);
        LinearLayout second_view = (LinearLayout) findViewById(R.id.second_view);
        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                firstViewOff = true;
                first_view.setVisibility(View.GONE);
                second_view.setVisibility(View.VISIBLE);
            }
        });
    }
    @override
    public void onBackPressed(){
      super.onBackPressed();
      if(firstViewOff){
        second_view.setVisibility(View.GONE);
        first_view.setVisibility(View.VISIBLE);
        firstViewOff = false;
      }
    }

}

我为什么要背压:
因为当用户按backpress时,它将直接显示firstview而不关闭,

相关问题