【问题标题】:Inflate multiples views into a fragment将多个视图膨胀到一个片段中
【发布时间】:2019-01-18 17:51:06
【问题描述】:

我正在开发我的应用程序,我需要列出一组这样的视图:

(我无法发布我的图片,因为 StackOverflow 的事情我不够有名)

IMAGE

片段已显示并正确应用,但我尝试显示的视图组没有。

我找不到如何让我的片段出现并使按钮起作用(但这不是现在的重点,所以我稍后会问这个问题)

class EditFragment : Fragment() {
lateinit var option : Spinner
lateinit var result : TextView
private lateinit var viewOfLayout: View
override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?

): View? {

    viewOfLayout =  inflater.inflate(R.layout.edit_fragment, container, false)

    val mainLayout = viewOfLayout.findViewById(R.id.scrollView1) as ScrollView
    //create a view to inflate the layout_item (the xml with the textView created before)
    val view = layoutInflater.inflate(R.layout.sensor_item, mainLayout, false)

    val options = arrayOf("A","V")

    option = view.spinner as Spinner
    result = view.textView7 as TextView
    option.adapter = ArrayAdapter<String>(activity,android.R.layout.simple_list_item_1,options)

return viewOfLayout
}

}

这里是完整代码:https://pastebin.com/fYyXkupM

(我准确地说我的片段显示正确)

-> 我认为我的错误来自那里:

val view = layoutInflater.inflate(R.layout.sensor_item, mainLayout, false)



如果我用“容器”替换“mainLayout”,它确实有效,但它不是片段的孩子。

谢谢。

【问题讨论】:

  • 你遇到了什么错误??
  • 我看到你在夸大视图,但我没有看到你在那之后对它做任何事情,比如将它添加到 viewOfLayout
  • 您可能希望将视图包含在布局文件中而不是代码中,请参阅developer.android.com/training/improving-layouts/…

标签: android-layout kotlin layout-inflater android-inflate


【解决方案1】:

您尚未从 viewOfLayout 初始化选项 Spinner。

【讨论】:

    【解决方案2】:

    好的,即使这有点具体,我也找到了答案:

    val view = layoutInflater.inflate(R.layout.sensor_item, container, false)
    val insertPoint = viewOfLayout.findViewById(R.id.box_Parent) as LinearLayout
    insertPoint.addView(view2, 0)
    

    【讨论】:

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