如何在android中的常见问题页面下显示/隐藏答案



对于我的应用程序,我在这里创建常见问题页面,我使用2个布局(一个用于问题,另一个用于答案)和1个活动我有4个问题和答案我的布局编码是

问题

<TextView
    android:id="@+id/qus1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="How does ringee™ works?"
    android:textColor="@color/black"></TextView>
 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/qus2"
        android:text="Can I choose event places among the town/city localities?"
        android:textColor="@color/black"/>
<TextView
    android:id="@+id/qus3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="When the reminder message will be sent to his/her invites?"
    android:textColor="@color/black"/>
    <TextView
        android:id="@+id/qus4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Is the reminder message customizable?"/>

对于答案

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ans1"
        android:text="ringee™ provides platform to send reminder messages for your occasions , where in you can manage your occasion, your invites list and more features coming in near future. ringee™ is your one stop solution to manage your occasions and it can't be that easy before.
All you have to do is :-
    Create occasion types like Marriage, Party, Birthday, Anniversary Celebrations.
    Add invites list whom you want them invited.
    Select reminder days (On Event Day, 2 Days Before, Week Before) and activate."
        android:textColor="@color/black"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ans2"
        android:text="no ringee™ does'nt have this functionality, it will be soon available to the users"
        android:textColor="@color/black"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ans3"
        android:text="ringee™ send reminder messages to invites at 10 AM Indian Standard Time[IST] on a day. This is routine task and will be send every day at 10 AM IST"
        android:textColor="@color/black"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ans4"
        android:text="Users are given option to customize event text, but not event place and date and time of the event."
        android:textColor="@color/black"/>

我的活动代码是

public class AboutActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);
        TextView faq = (TextView) findViewById(R.id.faq);
        faq.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setContentView(R.layout.faq_activity);
            }
        });
    }
}

(上面的代码只显示了一页中的4个问题,仅此而已)在这里,当用户点击一个问题时,我在一个页面上显示4个问题,我必须在该问题下显示相应的答案,当他们点击其他地方时,应该关闭

有人能帮我实现这个功能吗?

您应该使用ExpandableListView,而不是将每个项目添加到您的列表

走这条路

以一个垂直LinearLayout作为根布局。

Inside LinearLayout需要8个Textview。问题需要4个,答案需要4个。

8个文本视图的顺序应该是que1、ans1、que2、ans2……

现在将4个答案文本视图的可见性设置为GONE

现在,程序化地点击4个问题中任何一个的事件,文本视图将其相应的答案可见性设置为VISIBLE,并将onTouchListener设置为父LinearLayout,在onTouchListener中设置答案文本视图可见性为GONE

设置答案文本类似于此查看可见性

<TextView
        android:id="@+id/answer1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone"/>

要通过程序更改可见性,请使用此

answer1.setVisibility(View.GONE);

最新更新