我有一个问题,我想要显示新布局并隐藏旧布局

my layout个 我有这个登录页面,如图片所示,当你登录时,你将被重定向到新的布局,而旧的将隐藏

    public void Login(View v){

    EditText Name_input = findViewById(R.id.Name);
    String Name = Name_input.getText().toString();
    EditText Pass_input = findViewById(R.id.Pass);
    String Pass = Pass_input.getText().toString();

    if(Name.equals(Login_Name) && Pass.equals(Login_Pass)){
        TextView textView = findViewById(R.id.text);
        textView.setText("Login Succesful");
        textView.setTextColor(Color.parseColor("#00FF00"));

        //if succesful login create new layout and hide the login page
    }
    else{
        TextView textView = findViewById(R.id.text);
        textView.setText("Login Failed");
        textView.setTextColor(Color.parseColor("#FF0000"));
    }`

推荐答案

我会把这两个布局包装成LinearLayoutContraintLayout,只要更适合你,添加一个ID,然后用visibility你可以隐藏和显示你想要的任何东西.

这是伪代码:

这将是layout.xml

<ConstraintLayout>
<LinearLayout
  ...
  id = view1>
<View/>
<View/>
<View/>
<View/>
</LinearLayout>
<LinearLayout
  ...
  id = view2>
<View/>
<View/>
<View/>
<View/>
</LinearLayout>
</ConstraintLayout>

这将是MainActivity.kt

if(wantToShowView1){
  binding.view1.isVisible = true
  binding.view2.isVisible = false
} else {
  binding.view2.isVisible = true
  binding.view1.isVisible = false
}

另一种方式是使用Fragments

这将是layout.xml

...
<FrameLayout
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
...

这将是MainActivity.kt

if (wantToShowView1) {
            supportFragmentManager.beginTransaction()
                .replace(R.id.fragment_container, Fragment1())
                .commit()
        } else {
            supportFragmentManager.beginTransaction()
                .replace(R.id.fragment_container, Fragment2())
                .commit()
        }

Java相关问答推荐

在Spring Boot中测试时出现SQL语法错误

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

如何计算内循环的时间复杂度?

将linkedHashMap扩展到Java中的POJO类

使用包私有构造函数强制子类Java类

使用java访问具体子类特定方法的最佳方法是什么?

为什么Java的代码工作(if condition内部的实例)

如何获得执行人?

Java 21 struct 化连接货币,需要可预知的子任务异常排序

为什么我的在一个范围内寻找素数的程序不能像S所期望的那样工作

由于我在Main方法中关闭了 scanner ,但在该方法中创建了一个新的 scanner ,因此出现了错误

测试期间未执行开放重写方法

Spring Data JPA慢慢地创建了太多非活动会话

Java Mooc.fi Part 12_01.Hideout -返回和删除方法

Log4j与jdk21兼容吗?

Android应用程序为错误的显示类型 Select 尺寸文件

有没有办法知道在合并中执行了什么操作?

为什么没有加载java.se模块?

从字节数组切换到JakartaMail org.springframework.mail.javamail.JavaMailSender InputStreamResource

元音变音字符:如何在 Java 中将Á<0x9c>转换为Ü?