因此,我试图通过onClickListener向Button添加一些功能,但似乎无法正常工作。
我的按钮在列表项的XML中声明,我的列表在Fragment中实现。
我进行了一些研究以找到答案,并且我尝试过的每个解决方案都失败了,或者太复杂了。我有点开始,对我的无知感到抱歉。


因此,我的问题是在这些情况下如何为我的Button获取onClickListener。是否有某些东西会使监听器的效果在列表中不起作用?

最佳答案

您好)首先,您必须创建自定义适配器。例如 :

public class EatListAdapter extends BaseAdapter {

    private ArrayList<EatTime> eatTimes;
    private Activity activity;

    public EatListAdapter(Activity activity, ArrayList<EatTime> items) {
        this.eatTimes = items;
        this.activity = activity;
    }

    @Override
    public int getCount() {
        return eatTimes.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

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

        View v;
        LayoutInflater inflater = (LayoutInflater) activity.getApplicationContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        v = inflater.inflate(R.layout.list_item, null);

        Button delete = (Button) v.findViewById(R.id.button_delete);
        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            //your ON CLICK CODE

        });

        return v;
    }
}


比套装适配器

ListView eatingList = (ListView) findViewById(R.id.eatingList);
adapter = new EatListAdapter(this, eatArrayList);
eatingList.setAdapter(adapter);

关于android - fragment 中ListView上的按钮单击监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28798000/

10-09 00:46