java - 在Android中动态呈现不同视图的最佳方式?
问题描述
我对 Android 开发比较陌生,我对在 Android 中动态呈现不同视图的最佳方式感到困惑。
我有一个搜索信息数据库并使用可扩展列表视图向用户显示结果的活动。就目前而言,xml 布局文件只有一个可扩展的列表视图。此元素最初为空白,但随后在用户执行搜索时填充。
我的问题是,如果尚未填充可扩展列表视图,我想向用户显示一条消息(说明),但我不确定最好的方法是什么?我应该在运行时动态添加另一个视图还是有更好的方法来完成这个?
解决方案
实现这一点的最简单方法是在布局中使用 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);
}
推荐阅读
- mysql - MySQL:仅当另一列中的值唯一时才设置值
- php - 如何在 Firebird 中将 BLOB SUB_TYPE 0 转换为 TEXT?
- python - 在 pandas groupby DataFrame 中创建异常值列
- spring - Spring Websocket:如何通过任何 convertAndSend 或 convertAndSendToUser 方法拦截 SimpMessagingTemplate 发送的消息?
- xamarin - 使用 msbuild 命令行 xcarchive 到 ipa
- python - 以编程方式运行 Ansible 剧本?
- python - _mapnik 模块名称未找到
- c - 为什么这个 C 代码不起作用?
- memory - 如何使用 Intel Pin 在没有符号信息的可执行文件的用户定义函数中读取或写入内存值?
- apache-spark - 是否可以在 Spark 分区器中使用广播?