关于单击listView中的按钮的指示

时间:2018-05-05 13:31:11

标签: android listview listviewitem

我使用以下代码:

<div class="col-sm-2 col-sm-pull-4">
   <button type="button" onclick="selectService()" class="btn btn-primary pull-right searchButton">Save</button>
</div>

每行如下图所示 pic

我想知道用户何时点击加号/减号按钮。 我怎样才能做到这一点?我已经启动了函数ListView simpleList = (ListView) findViewById(R.id.items); CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), itemsList, quantityList,this); simpleList.setAdapter(customAdapter); simpleList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } ,但不知道如何计算。

2 个答案:

答案 0 :(得分:2)

您还可以通过修改后续代码实现您的界面

您必须创建类

的接口
public interface MyCustomAdpClick {
    public void plusClick();// You can pass argument whatever you needed

    public void minusClick();// You can pass argument whatever you needed
}

修改你设置的适配器代码如下

 ListView simpleList = (ListView) findViewById(R.id.items);
    List<String> lis1 = new ArrayList<>();// change to your list of items here
    CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), lis1, lis1, new MyCustomAdpClick() {
        @Override
        public void plusClick() {// handle plus event
        }

        @Override
        public void minusClick() {//handle minus event
        }
    });

在自定义适配器中,您必须在下面修改

    Context context;
    MyCustomAdpClick myCustomAdpClick;
    List<String> lis1;
    List<String> lis2;

        public CustomAdapter(Context context, List<String> lis1, List<String> lis2, MyCustomAdpClick myCustomAdpClick) {
        this.context = context;
        this.lis1 = lis1;
        this.lis2 = lis2;

        this.myCustomAdpClick = myCustomAdpClick;
    }

现在,您可以为适配器getview方法中的每个按钮使用click事件

 buttonPlus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            myCustomAdpClick.plusClick();
        }
    });
            buttonMinus.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    myCustomAdpClick.minusClick();
                }
            });

答案 1 :(得分:0)

CustomAdapter课程中,在那里声明2个按钮。

将此添加到CustomAdapter

private static class MyViews{
    Button btn1;
    Button btn2;
}


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

   final MyViews views;

    if (convertView == null)
    {
        views.btn1= (Button) convertView.findViewById(R.id.yourbutton1);
        views.btn2= (Button) convertView.findViewById(R.id.yourbutton2);

        result=convertView;

        convertView.setTag(views);
    }
    else
    {
        views = (MyViews) convertView.getTag();
        result=convertView;
    }

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //your code...
        }
    });

    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //your code...
        }
    });

    return convertView;

}

并控制CustomAdapter课程内的所有数据。