Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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项的onClickListener_Android_Android Fragments_Onclicklistener - Fatal编程技术网

Android 具有多个按钮的自定义ListView项的onClickListener

Android 具有多个按钮的自定义ListView项的onClickListener,android,android-fragments,onclicklistener,Android,Android Fragments,Onclicklistener,在我的程序中,我有一个片段,可以动态地将自定义项添加到ListView中。这些项都有两个按钮,它们应该具有特定的功能(例如从列表中删除特定项)。我想为它们设置一个OnClickListener,在片段类中调用一个函数 当我尝试在onCreateView()方法中添加onClickListener时,简单的xml onClick属性找不到该函数(就像静态按钮的侦听器一样)。但是当创建片段时,会调用NullPointerException,因为引用的按钮不是片段(?)的一部分 按下动态添加的按钮(或

在我的程序中,我有一个片段,可以动态地将自定义项添加到ListView中。这些项都有两个按钮,它们应该具有特定的功能(例如从列表中删除特定项)。我想为它们设置一个OnClickListener,在片段类中调用一个函数

当我尝试在onCreateView()方法中添加onClickListener时,简单的xml onClick属性找不到该函数(就像静态按钮的侦听器一样)。但是当创建片段时,会调用NullPointerException,因为引用的按钮不是片段(?)的一部分


按下动态添加的按钮(或复选框)后,如何从片段中调用函数?

如果发布一些代码,这会更容易

在我的代码中,我有一些类似的东西,我有一个带有数组适配器的listview,在某些行中,我有一个带有函数的imageButton

我用一个类来解决我的问题,在这个类中,我将函数应用于按钮

主要类别代码:

ListViewResources listViewResources = new ListViewResources(this, resourcesName);
listView = (ListView) popupView.findViewById(R.id.listView1);
listView.setAdapter(listViewResources);
ListViewResources\u类:

public class ListViewResources extends ArrayAdapter<String>{

Activity context;
String[] resourcesName;


public ListViewResources(Activity context, String[] resourcesName) {
    super(context, R.layout.popup_listitem_resources, resourcesName);

    this.context = context;
    this.resourcesName = resourcesName;

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = context.getLayoutInflater();
    View rowView = inflater.inflate(R.layout.popup_listitem_resources, null, true);

    TextView resourceName = (TextView)rowView.findViewById(R.id.textViewResourceName);
    ImageView openResource = (ImageView)rowView.findViewById(R.id.buttonOpenResource);

    openResource.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //code for happen on Button Click
        }
    });

    resourceName.setText(resourcesName[position]);

    return rowView;
}
公共类ListViewResources扩展了ArrayAdapter{
活动语境;
字符串[]资源名称;
公共ListViewResources(活动上下文,字符串[]resourcesName){
super(context,R.layout.popup\u listitem\u resources,resourcesName);
this.context=上下文;
this.resourcesName=resourcesName;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
LayoutInflater充气器=上下文。getLayoutInflater();
视图行视图=充气器。充气(R.layout.popup\u listitem\u资源,null,true);
TextView resourceName=(TextView)rowView.findViewById(R.id.textViewResourceName);
ImageView openResource=(ImageView)rowView.findViewById(R.id.buttonOpenResource);
openResource.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//单击按钮时发生的代码
}
});
resourceName.setText(resourcesName[position]);
返回行视图;
}

listview中的一个项目有两个按钮?单击是否不工作?