android - 如何在运行时切换 View ?

标签 android user-interface view android-activity runtime

我的会计应用程序中有以下代码:

// switch View to the Customer layout, widget id's are the same on both layouts
private void hideExpenseView() {
    setContentView(R.layout.customer_invoices);
}

// switch View to the Supplier layout
private void hideIncomeView() {
    setContentView(R.layout.supplier_invoices);
}

上述方法不起作用,因为当您切换 ContentView 时,您会丢失所有变量映射。不幸的是,您必须在 setContentView() 之后映射变量。

如果可行,这对我的应用来说将是一个非常简单的解决方案。看,我已经将两个 xml 布局中的小部件命名为相同的 ID。我没有根据不同的状态隐藏一个 xml 布局的元素,而是将整个 View 切换到适当的布局 - 无论是输入客户销售发票还是供应商费用发票。

通过切换 View ,我基本上需要 6 行代码来处理 UI 转换,非常简单。

我希望这在其他方面仍然是可能的,有人可以把我推向正确的方向吗?

最佳答案

查看 ViewSwitcher:参见 http://developer.android.com/reference/android/widget/ViewSwitcher.html

或者将您的 Activity 布局基于包含 supplier_invoices.xml 和 customer_invoices.xml 的框架布局。然后你的本土隐藏-n-显示将是 g2g。不过,您可能仍需要更改 ID。

关于android - 如何在运行时切换 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032514/

相关文章:

android - 创建自定义 Annotation ButterKnife

java - 底部的 android 菜单

Java - 背景重绘时的图形故障

sorting - CouchDB:从 View 中的 View 获取结果

java - 自定义 View 类的 onDraw 未被 Invalidate 调用

安卓人脸识别

android - Kotlin正则表达式不适用于我在运行时得到的波兰char (“ł”)

android - 如何更新 Android 应用程序小部件的 UI

user-interface - MDI还有一席之地吗?

ios - ViewController 和它的 View 之间的通信