我的会计应用程序中有以下代码:
// 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/