将多个自定义LinearLayouts与按钮添加到ListView项目
我有一个相关的问题。
有人询问有关添加多个自定义LinearLayouts编程到ListView项目,这几乎是我需要做的。 在这个问题中,作者在LinearLayout中有TextViews。 我有一个按钮(和一些其他),当我点击这个按钮,我想膨胀一个新的LinearLayout下这个只需点击按钮。
如何获得当前的LinearLayout位置,所以我可以在它下面添加新的LinearLayout? 现在我在列表底部添加新的LinearLayout。
你可以这样做
yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view,int position, long id) { //if you want get linearLayout at current position LinearLayout LINTOP = ((LinearLayout) parent.getChildAt(0)); addLayout(LINTOP); } });
在LINTOP下添加这样的新布局
public void addLayout(LinearLayout parent){ LinearLayout newLayout= new LinearLayout(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); parent.addView(newLayout, 0, params); }
首先,请使用RecyclerView
而不是ListView
你有一个名为getAdapterPosition()
的方法,它返回交互发生的位置。 所以在ViewHolder中,如果你这样的话
linearLayoutView.setOnClickListener { Log.d("Position:"+getAdapterPostion()); }
那会给你的位置。 (上面的代码在Kotlin btw中,所以可能看起来有点不同)
- 在TeamCity上用kotlin编译android项目失败
- 自定义适配器中的黄油刀视图保持器模式
- Kotlin – 如何在ViewPager中添加OnPageChangeListener
- 如何检查ContentProvider可用于Intent(或阻止特定的一个)
- 不能在Kotlinunit testing(ExecutionException,Aapt2Exception)
- 如何从第一个可观察到的东西获得排放值
- 删除ButterKnife后匕首崩溃
- Java / Android websocket无法连接到Spark websocket服务,但JavaScript可以
- TextView Null膨胀父布局后