android - 单击最后一个项目后在 Activity 中启用按钮

标签 android button click

我正在创建一个应用程序,它有一个 button 和一个 listview。我的问题是在单击此 listview 中的所有项目后启用此 button。否则,按钮 将被禁用。

如何检查所有项目是否已被点击?

这是我的适配器请看一下

    public class InstallAdapter extends BaseAdapter {

    private Activity activity;
    private LayoutInflater inflater;
    public List<InstallModel> galleryItems;
    ProgressDialog dia;




    public InstallAdapter(Activity activity,
            ArrayList<InstallModel> galleryItems) {
        this.activity = activity;
        this.galleryItems = galleryItems;

    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        Log.e("getCount :", galleryItems.size() + "");
        return galleryItems.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        Log.e("getItem :", galleryItems.get(position) + "");
        return galleryItems.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        Log.e("getItemId :", position + "");
        return galleryItems.indexOf(getItem(position));
    }

    class ViewHolder {

        Button Title;

    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        final ViewHolder holder;
        holder = new ViewHolder();
        if (inflater == null)
            inflater = (LayoutInflater) activity
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        convertView = inflater.inflate(R.layout.custom_list_result, null);

        Log.e("AgetView", galleryItems.size() + "");

        holder.Title = (Button) convertView.findViewById(R.id.buttonInstall1);

        Log.e("gallery postion", galleryItems.get(position) + "");
        holder.Title.setText(galleryItems.get(position).getHeading());

        holder.Title.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                String url = galleryItems.get(position).getApp_url();
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
                activity.startActivity(i);


            }
        });

        /*if (position == getCount() - 1) {
            btGoCongrts.setEnabled(false);
        } else {
            btGoCongrts.setEnabled(true);
        }*/

        return convertView;
    }


}

最佳答案

一种简单的方法是添加职位列表。

您可以创建 intArrayList。每次用户点击一个item,你就把这个item放在位置,然后检查ArrayList是否包含这个index .

如果它不包含它,则将此 int 添加到 ArrayList

在此之后,您检查此 ArrayList 中的项目数,如果它等于列表中的项目总数,则您完成了。

小代码:

将其添加到列表中。 setOnItemClickListener

ArrayList<int> myIndexes = new ArrayList<>()

//add onitemclick method with this body
if(!myIndexes.contains(position)){
  myIndexes.add(position);
}
if(myIndexes.length == myList.length){
  //enable button
}

显然,您必须替换名称并实现方法,但这会起作用

关于android - 单击最后一个项目后在 Activity 中启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40488462/

相关文章:

android布局对齐textview和button

javascript - 如何设置 ID 并在 mvc 4 razor 中动态使用它?

android - listView.getSelectedItemPosition() 返回 index-1

android - ListView 没有空间在较小的屏幕上显示内容

Android Socket服务器编程

c++ - Win32 c++ 在运行时调整 createwindow 的大小

java - 检查 Firebase 数据库中是否存在特定值

html - 如何创建一个简单的 Like Button?

android - 可点击的图像 - 安卓

javascript - 使用 D3.js 在单击圆圈时生成阴影