how to change color according to different string in base adapter list view

1227 views android
1

if the string equal to "Sell", the text color will be red.Otherwise if "Buy", the color will be green. Here my code below.

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
        //View view =super.getView(position, convertView, parent);

        View view = convertView;
        if(view == null){
            view = LayoutInflater.from(mContext).inflate(R.layout.list_adv_item,parent,false);
        }

        Advertisement currAdv = advList.get(position);
        TextView date = (TextView)view.findViewById(R.id.textView_date);
        date.setText(currAdv.getmDate());
        date.setTextColor(Color.WHITE);

        TextView name = (TextView) view.findViewById(R.id.textView_amount);
        name.setText(currAdv.getmAmount() + " at");

        TextView price = (TextView) view.findViewById(R.id.textView_price);
        price.setText(currAdv.getmPrice());

        TextView type = (TextView) view.findViewById(R.id.textView_type);

        if (type.getText() == "Sell") {
            type.setTextColor(Color.RED);
        } else {
            type.setTextColor(Color.parseColor("#00FF00"));
        }

        type.setText(currAdv.getmType());


        return view;
    }

}

answered question

so what is the problem in that?

1 Answer

13

Change:

if (type.getText() == "Sell") {

to:

if (type.getText().equals("Sell")) {

otherwise you compare references and not strings

posted this

Have an answer?

JD

Please login first before posting an answer.