首页 > 解决方案 > 在Android中动态呈现不同视图的最佳方式?

问题描述

我对 Android 开发比较陌生,我对在 Android 中动态呈现不同视图的最佳方式感到困惑。

我有一个搜索信息数据库并使用可扩展列表视图向用户显示结果的活动。就目前而言,xml 布局文件只有一个可扩展的列表视图。此元素最初为空白,但随后在用户执行搜索时填充。

我的问题是,如果尚未填充可扩展列表视图,我想向用户显示一条消息(说明),但我不确定最好的方法是什么?我应该在运行时动态添加另一个视图还是有更好的方法来完成这个?

标签: javaandroid

解决方案


实现这一点的最简单方法是在布局中使用 2 个单独的视图。首先会出现一个解释文本,一旦您获得数据,您就可以隐藏视图并显示列表。

以下是您可以执行的核心操作:

布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent" > 

     <TextView
          android:id="@+id/explanation_view"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:text="@string/explanation"
          android:visibility="visible"/>

     <ListView
          android:id="@+id/list_view"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:visibility="gone"/>
</FrameLayout>

爪哇:

void onData(Data data) {
    explanationView.setVisibility(View.GONE);
    listView.setVisibility(View.VISIBLE);
}

推荐阅读