繁体   English   中英

带有多个按钮的自定义ListView项目的onClickListener

[英]onClickListener for custom ListView item with multiple Buttons

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

简单的xml onClick属性无法找到该函数,并且当我尝试在onCreateView()方法中添加onClickListener时(例如与静态Button的侦听器一样)。 但是,在创建片段时,将调用NullPointerException,因为所引用的Button不属于片段(?)。

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

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

在我的代码中,我有一些类似的东西,有一个带有数组适配器的列表视图,在某些行中,有一个带有功能的imageButton。

我通过在适配器上使用的类来解决我的问题,因为我将功能性应用于Button。

Main_Class代码:

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

ListViewResouces_Class:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM