将多个自定义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中,所以可能看起来有点不同)
- 由于NoClassDefFoundError而导致的工具测试失败
- 在编辑文字上输入时在数字之间插入“ – ”
- RxJava(Kotlin),Observable.amb和PublishSubject没有开火
- 调用Rooms inMemoryBuilder方法时,Room Persistence Library运行时exception
- Gradle无法在Windows上读取正确的本地Maven存储库
- Android的AltBeacon测距没有find任何东西
- 如何实现一个延迟加载recyclerView适配器,像使用kotlin的realm recyclerView适配器
- 静态字段在kotlin中
- 错误':android:transformKotlinClassesWithJillForDebug'。 构建用Kotlin + LibGDX编写的Android应用程序时