【发布时间】:2012-04-05 16:38:08
【问题描述】:
我的会计应用程序中有以下代码:
// 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 布局的元素,而是将整个视图切换到适当的布局 - 无论是输入客户销售发票还是供应商费用发票。
通过切换视图,我基本上只需要 6 行代码来处理 UI 转换,非常简单。
我希望这仍然可以以另一种身份出现,有人可以将我推向正确的方向吗?
【问题讨论】:
-
也许您尝试使用片段来执行此操作?两个片段扩展一个基本片段。所有逻辑都在基础片段和派生片段中实现,只是创建不同的视图。
-
我想将应用保留在 Froyo 2.2 (API 8) 框架下。
-
你可以保留它。只需使用支持库。它适用于 7+。
-
嗯,好的,我不知道,我去看看:)
标签: android user-interface view android-activity runtime