Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在recyclerview android中按位置获取textview值_Java_Android_Android Recyclerview - Fatal编程技术网

Java 在recyclerview android中按位置获取textview值

Java 在recyclerview android中按位置获取textview值,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有一份多项目的清单。在我的列表中,每个项目都包含一个状态,可以是1或2。我还有两个按钮,一个是确认,一个是完成。现在,如果状态为2,我想隐藏complete按钮,如果状态为1,我想隐藏confirm按钮。但它只检查第一项的状态。请帮忙 @Override public void onBindViewHolder(@NonNull Fmb2borderadapter.orderfmholder holder, int position) { Fmordermodel fmorde

我有一份多项目的清单。在我的列表中,每个项目都包含一个状态,可以是1或2。我还有两个按钮,一个是确认,一个是完成。现在,如果状态为2,我想隐藏complete按钮,如果状态为1,我想隐藏confirm按钮。但它只检查第一项的状态。请帮忙

    @Override
public void onBindViewHolder(@NonNull Fmb2borderadapter.orderfmholder holder, int position) {
    Fmordermodel fmordermodel = fmsarr.get(position);
    holder.assignOrderNbr.setText(fmordermodel.getAssignOrderno());
    holder.assignCustomerID.setText(fmordermodel.getOrder_unique_id());
    holder.assignOrderDate.setText(fmordermodel.getAssignOrderDate());
    holder.tv_status.setText(fmordermodel.getStatus());
    status = fmordermodel.getStatus();
    holder.tv_status.setTag(position);
    status = fmordermodel.getStatus();

   // holder.tv_status.setVisibility(holder.tv_status.getTag(position)=="2"?View.VISIBLE:View.GONE);


    if (holder.tv_status.toString() ==  "2" ){
        holder.tv_complete.setVisibility(View.VISIBLE);
        holder.tv_confrim.setVisibility(View.GONE);
    }else{
        holder.tv_complete.setVisibility(View.GONE);
        holder.tv_confrim.setVisibility(View.VISIBLE);
    }


}

试着换掉这条线

if (holder.tv_status.toString() ==  "2" ){
if (holder.tv_status.toString().equals("2" ){
用这条线

if (holder.tv_status.toString() ==  "2" ){
if (holder.tv_status.toString().equals("2" ){

您需要按如下方式更改
if块

if (holder.tv_status.getText().toString().equals("2")) {
    //...
}

您已经删除了
getText()
方法。顺便说一下,除非您想检查引用,否则不要使用
==
运算符来比较
字符串
值。使用
equals()
来有效地比较两个
String
值。

缺少一个“)”,很抱歉,我无法编辑iti,但我的问题是它不会检查所有项目的状态。现在它只检查第一个项目的状态,第一个项目的状态为2,因此它对所有项目隐藏完成按钮,但我只想在状态为2的地方隐藏