Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将多个带有按钮的自定义线性布局添加到ListView项_Android_Android Layout_Listview_Button_Layout Inflater - Fatal编程技术网

Android 将多个带有按钮的自定义线性布局添加到ListView项

Android 将多个带有按钮的自定义线性布局添加到ListView项,android,android-layout,listview,button,layout-inflater,Android,Android Layout,Listview,Button,Layout Inflater,我有一个关于你的问题 有人问我如何以编程方式将多个自定义LinearLayouts添加到ListView项,这几乎就是我需要做的。在这个问题上,作者有一个线性布局的文本视图。我有一个按钮和一些其他的,当我点击这个按钮时,我想用刚刚点击的按钮在这个按钮下膨胀一个新的线性布局 如何获取当前LinearLayout位置,以便在其下添加新的LinearLayout?现在,我正在列表底部添加新的LinearLayout。首先,请使用RecyclerView而不是ListView 您有一个名为getAdap

我有一个关于你的问题

有人问我如何以编程方式将多个自定义LinearLayouts添加到ListView项,这几乎就是我需要做的。在这个问题上,作者有一个线性布局的文本视图。我有一个按钮和一些其他的,当我点击这个按钮时,我想用刚刚点击的按钮在这个按钮下膨胀一个新的线性布局

如何获取当前LinearLayout位置,以便在其下添加新的LinearLayout?现在,我正在列表底部添加新的LinearLayout。

首先,请使用RecyclerView而不是ListView

您有一个名为getAdapterPosition的方法,它返回交互发生的位置。因此,在ViewHolder中,如果您这样做

linearLayoutView.setOnClickListener { Log.dPosition:+getAdapterPostion; }

那会给你这个职位。以上代码在Kotlin btw中,因此看起来可能有点不同

您可以这样做

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);
    }
});

.getChildAt正在向方法请求限定符,以及如何在此限定符下添加新的LinearLayout?是否使用此LinearLayout LINTOP=LinearLayout parent.getChildAt0;在这个或你想添加它的子项下,我想在这个下单击按钮新建LinearLayout。它仍在LinearLayout的底部添加
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);
}