如何在适配器类中设置值列表项并在按钮上单击以获取值

研究和发展

适配器类别:

public List<TSPDataModel> employeeData;
    private Context mContext;
    private LayoutInflater mInflater;
    RadioGroup radiogroupbutton;
    String[] data = {"Document not clear","Adress is not Visibile","Photo is not pasted","Signature is not Avilable"};
    String   value;
    public TSPListDocumentadapter(Context context, int textViewResourceId,
                                  List<TSPDataModel> objects)

    {
        this.employeeData = objects;
        this.mContext = context;
        mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

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

        if (convertView == null) {
            holder = new ViewHolder();
            convertView = mInflater.inflate(R.layout.tspdocumentlistitem, null);
            holder.relatvie1=(RelativeLayout)convertView.findViewById(R.id.relatvie1);
            holder.txtName = (TextView) convertView.findViewById(R.id.textView1);
            holder.accecpt = (ImageView) convertView.findViewById(R.id.imageButton);
            holder.reject = (ImageView) convertView.findViewById(R.id.imageButton2);
            holder.statustextview = (TextView) convertView.findViewById(R.id.statustextview);
            holder.poaedittext=(TextView) convertView.findViewById(R.id.poieditext);
           holder.poaedittext=(TextView)convertView.findViewById(R.id.poaedittext);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.txtName.setText(employeeData.get(position).getName());
        holder.poaedittext.setText(employeeData.get(position).getPoa());

        holder.accecpt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                holder.statustextview.setText("Accepted");

                employeeData.get(position).setSelected(true);
                employeeData.get(position).getOrderId();
                holder.relatvie1.setBackgroundResource(R.color.acceptedcolor);

            }
        });

        holder.reject.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showdilog();
                holder.statustextview.setText("Rejected");
                employeeData.get(position).setSelected(false);
                employeeData.get(position).setReasone(value);
                holder.relatvie1.setBackgroundResource(R.color.rejectcolor);
            }
        });


        return convertView;
    }

    static class ViewHolder {
        TextView txtName;
        ImageView reject;
        ImageView accecpt;
        TextView statustextview;
        TextView poiedittext;
        TextView poaedittext;
        RelativeLayout relatvie1;
    }

    public int getCount() {
        return employeeData.size();
    }

    public TSPDataModel getItem(int position) {
        return employeeData.get(position);
    }

    public long getItemId(int position) {
        return 0;
    }


    public void showdilog() {
        final Dialog dialog = new Dialog(mContext);
        dialog.setContentView(R.layout.layoutpopup);
        radiogroupbutton = (RadioGroup) dialog.findViewById(R.id.radio_gp_day);
        ListView listview = (ListView) dialog.findViewById(R.id.radio_slot_list);
        Button setbutton = (Button) dialog.findViewById(R.id.setbutton);
        List<String> list = new ArrayList<String>();
        ArrayAdapter<String> myadpter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_single_choice, data);
        for (int i = 0; i < data.length; i++) {
            list.add(data[i]);
        }
        listview.setAdapter(myadpter);
        listview.setItemsCanFocus(false);
        listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                value = data[position];
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
            }
        });
        setbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
                dialog.dismiss();


            }
        });

        dialog.show();
    }

此按钮单击我的运动课:

    @Override
    public void onClick(View view) {
        if (view.getId() == R.id.button1) {
            try {

                List<TSPDataModel> empData = adapter.employeeData;
                System.out.println("Total Size :" + empData.size());

                for (TSPDataModel employeeModel : empData) {
                    if (employeeModel.isSelected()) {
              Toast.makeText(TSPDocumentListActvity.this, employeeModel.getName(), Toast.LENGTH_LONG).show();
                    } else {

String Reasonse=   employeeModel.getresonse() ;                

                        Toast.makeText(TSPDocumentListActvity.this, "false" + employeeModel.getName(), Toast.LENGTH_LONG).show();
                    }
                }


            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

首先,我在Listview中打印数据,然后在每个列表视图项上都有接受和拒绝按钮,当我们单击接受时就出现了,然后没有警报将只询问拒绝按钮的原因,而是询问弹出列表中的哪个项目,我想获取选定的原因在活动中单击按钮,但我总是得到空值,请在错误的地方帮帮我

哈拉瓦尔

将您的拒绝按钮和showDialog代码更改为

holder.reject.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showdilog(position);
                holder.statustextview.setText("Rejected");
                holder.relatvie1.setBackgroundResource(R.color.rejectcolor);
            }
        });

并显示到

public void showdilog(int list_position) {
        final Dialog dialog = new Dialog(mContext);
        dialog.setContentView(R.layout.layoutpopup);
        radiogroupbutton = (RadioGroup) dialog.findViewById(R.id.radio_gp_day);
        ListView listview = (ListView) dialog.findViewById(R.id.radio_slot_list);
        Button setbutton = (Button) dialog.findViewById(R.id.setbutton);
        List<String> list = new ArrayList<String>();
        ArrayAdapter<String> myadpter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_single_choice, data);
        for (int i = 0; i < data.length; i++) {
            list.add(data[i]);
        }
        listview.setAdapter(myadpter);
        listview.setItemsCanFocus(false);
        listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                value = data[position];
                employeeData.get(list_position).setSelected(false);
                employeeData.get(list_position).setReasone(value);
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
            }
        });
        setbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, value, Toast.LENGTH_LONG).show();
                dialog.dismiss();


            }
        });

        dialog.show();
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

单击活动类中的按钮,如何在适配器的微调器上过滤列表

如何在Xamarin android Array适配器中获取可见列表项计数

如何在自定义适配器中更改按钮单击时的按钮文本

如何从适配器设置 startActivityForResult 并在 viewPager 片段中获取结果

如何在自定义列表视图的自定义适配器类中传递多个数组值?

单击按钮时如何在Adapter类中获取列表项位置

如何在linux mint上设置wifi适配器?

如何在列表适配器上显示AlertDialog

拖放Recyclerview项目后,如何在适配器的onbind方法上提供列表项目的更新位置

如何获取列表视图适配器类中的行项目位置编号

如何在Android中设置有限的适配器列表

如何在Android中为带有图像的列表视图设置适配器

如何在Android的适配器中设置数据

如何在Hubot脚本中获取适配器名称?

如何在 RecyclerView 适配器中获取 SharedPreferences 浮点值?

如何从外部适配器处理列表项小部件

更改适配器中列表项的背景

如何从单击方法的适配器类中的 string.xml 中获取字符串

从适配器上的片段获取字段并从片段上的适配器获取列表

如何在我的自定义适配器中为我的列表视图获取一个按钮来拨打电话号码

如何在android java中由简单光标适配器制作的listview上的视图(如按钮)设置唯一ID?

如何使用自定义列表适配器中的“更新图像”按钮更新数据库中的值?

如何在android studio中创建自定义数组适配器以禁用对列表视图项的单击

列表视图中的页脚按钮,如何从自定义列表适配器获取价值

如何在recycleview适配器中设置布局可见性,我的适配器代码是

如何在自定义适配器内部的生成的按钮中设置一些操作

如何从模型类中检索全部子代并在android中传递适配器?

在recyclerview适配器(Kotlin)中处理按钮单击?

如何在一个表单上单击按钮并在另一个类中的字符串中获取文本框的值?