从列表视图中检查每个文本视图的内容

时间:2016-04-17 20:53:51

标签: android listview android-arrayadapter

我有一个列表视图,每个项目包含3个不同的文本视图。我需要检查第三个textview的内容是否具有特定值。

关于如何做到这一点的任何想法?我认为它应该在适配器类中实现。

var img = new Image;
img.onload = function(e) {
  console.log(this, this.src)
}

img.onerror = function(e) {
  console.log(e, this)
};

img.src = "http://example.com";

3 个答案:

答案 0 :(得分:0)

几乎肯定应该在适配器所有者中实现。但最大的问题是 - 你想检查屏幕上的视图,还是列表中的所有项目?如果它是第二个,那么适配器可能甚至不应该参与 - 只需保持对数组的引用并迭代它。

答案 1 :(得分:0)

MenuItem getPrice()方法中,您返回整数值(价格)

所以你必须使用if condition检查该值。

 public CustomAdapterMenu(Context context, ArrayList<MenuItem> items) {
    super(context,R.layout.custom_item, items);
}



@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater=LayoutInflater.from(getContext());
    View customView=inflater.inflate(R.layout.custom_items, parent, false);

    MenuItem menuItem=getItem(position);
    String item=menuItem.getItem().toString();
    String type=menuItem.getType().toString();

    if(menuItem.getPrice()==YourSPecificValue){

      Your code what you wanna to do.
    }

    String price= String.valueOf(menuItem.getPrice());



    TextView adapter_item=(TextView)customView.findViewById(R.id.tvItem);
    TextView adapter_type=(TextView)customView.findViewById(R.id.tvType);
    TextView adapter_price=(TextView)customView.findViewById(R.id.tvPrice);
    adapter_nrItm=(TextView)customView.findViewById(R.id.tv_nrItm);
    ImageView adapter_image=(ImageView)customView.findViewById(R.id.image);
    adapter_plus=(Button)customView.findViewById(R.id.btnAdd);
    adapter_minus=(Button)customView.findViewById(R.id.btnDelete);

    adapter_item.setText(item);
    adapter_type.setText(ingredients);
    adapter_price.setText(price);
    adapter_image.setImageResource(R.drawable.icon);


    return customView;

}
}

答案 2 :(得分:-1)

您可以使用TextView方法getText(),它返回TextView正在显示的文本并根据您的需要使用它。它必须在适配器类中实现。