2017-02-09 87 views
0

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

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

我如何按一个动态添加按钮(或复选框)之后调用函数从我的片段?

+0

一个项目?不工作点击? – marlonpya

回答

0

如果您张贴一些代码

在我的代码我有类似的东西,这是比较容易的,我有一个列表视图用数组适配器,并在一些行我有一个ImageButton的一个funtion。

我解决了我的问题,使用类来处理适配器,并且将函数应用于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; 
} 
相关问题