首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨TextViews使用可见/不可见方法创建subText

跨TextViews使用可见/不可见方法创建subText
EN

Stack Overflow用户
提问于 2021-03-31 01:13:06
回答 2查看 40关注 0票数 0

我已经创建了两个textViews,第一个是主标题,第二个是标题的副文本。因此,我希望通过单击主标题来使子文本可见。这看起来很简单,可以说butI尝试了很多方法,但MainActivity.java总是崩溃。

在第二步,我想要一个不同的主标题在第一个标题下,上面的潜台词可以在它们之间切换。

也许有比textView更简单的小部件,但我找不到。

请帮帮忙。谢谢。

Ps:字符串工作得很好,没有任何问题。

Activity_main.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:layout_marginStart="20dp"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:layout_marginEnd="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginBottom="100dp"
            android:clickable="true"
            android:focusable="true"
            android:text="@string/text1"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.062" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/text11"
            android:textAppearance="@android:style/TextAppearance.Medium"
            android:textSize="15sp"
            android:layout_alignTop="@id/textView"
            android:layout_marginTop="35dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            app:layout_constraintVertical_bias="0.083"
            android:visibility="invisible"
            tools:visibility="visible" />
    </RelativeLayout>

MainActivity.java

代码语言:javascript
复制
package com.example.Notes;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.style.ClickableSpan;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {

    @SuppressLint("ClickableViewAccessibility")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_MainActivity);

    }
}

编辑:将此代码添加到java中是解决方案:

代码语言:javascript
复制
TextView title = findViewById(R.id.textView);
        TextView subText = findViewById(R.id.textView2);

        title.setOnClickListener(v -> {
             if (subText.getVisibility() == View.VISIBLE)
                        subText.setVisibility(View.INVISIBLE);
                    else
                        subText.setVisibility(View.VISIBLE);
        });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-31 02:45:08

要通过单击title文本视图来更改subText的可见性,可以执行以下操作:

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_MainActivity);

        TextView title = findViewById(R.id.textView);
        TextView subText = findViewById(R.id.textView2);

        title.setOnClickListener(v -> {
            subText.setVisibility(View.VISIBLE); //OR View.GONE OR View.INVISIBLE
        });
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-03-31 16:09:32

谢谢,我刚刚修改了这部分,它变成了我真正想要的:

代码语言:javascript
复制
 //subText.setVisibility(View.VISIBLE); //OR View.GONE OR View.INVISIBLE
                    if (subText.getVisibility() == View.VISIBLE)
                        subText.setVisibility(View.INVISIBLE);
                    else
                        subText.setVisibility(View.VISIBLE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66875456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档