【问题标题】:Reset Content View in Android在 Android 中重置内容视图
【发布时间】:2021-07-06 16:22:48
【问题描述】:

我有一个对话框,其中包括一个约束布局中的微调器(“new_widget_layout.xml”)。要获取 Spinner 的 id,我使用以下代码:

setContentView(R.layout.new_widget_layout)
val typeSpinner = findViewById<Spinner>(R.id.widgetTypeSpinner)
ArrayAdapter.createFromResource(this, R.array.types, android.R.layout.simple_spinner_item).also {
            it.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
            typeSpinner.adapter = it
        }
// The contentView is changed back, see below...

如您所见,我需要先将 ContentView 更改为我的 dialogLayout,这样才能获取 spinner 的 id。但是如果我想把它改回标准布局,我的 onclicklisteners 就不起作用了。

示例

val deleteButton = findViewById<Button>(R.id.deleteButton) // This is before the contentView is changed

deleteButton.setOnClickListener { // This is after the content View is changed back and forth and it does nothing
            // code
        }

我尝试了多种方法将 contentView 改回正常状态,例如:

  • setContentView(findViewById&lt;ConstraintLayout&gt;(R.id.myLayout))
  • setContentView(R.layout.activity_main)

但似乎没有任何效果。所有按钮等都正确显示,但如果单击它们,则没有任何反应。如果我完全删除带有 contentViews 和 Spinner 的代码,它就可以工作。

【问题讨论】:

  • 如果您只是在之后直接破坏视图,为什么还需要微调器?
  • @HenryTwist 我在破坏它吗?我只需要让微调器添加它的内容。但我认为当布局膨胀时我需要添加这些。它似乎有效。
  • 如果您将内容视图更改为其他内容,那么微调器将不存在?对不起,如果我错过了重点。
  • 我同意@HenryTwist,我老实说不明白你在这里要做什么
  • 我认为R.layout.activity_main 是您的活动布局(对我来说非常直观)。那么R.id.new_widget_layout到底代表什么?

标签: android kotlin setcontentview


【解决方案1】:

您可以重新启动活动并使用类似的条件

if(Common.layoutType ==1)
 setContentView(R.layout.activity_main)
else 
  setContentView(R.layout.your_layout)

在 onClickListener 中,您可以在公共类中存储一个值(如果没有一个好心的人)

Public class Common
   {
     Public static int layoutType = 1;
    }

在 onClickListener 中

Common.layoutType = YOUR_DESIRED_VALUE;
startActivity(); /// again start the same activity 

当 Activity 重新启动时,在检查期间它会自动相应地设置所需的布局。

如有不清楚之处,请随时询问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多