リストビューで別の背景ボタンを設定したいときに問題が発生しました。Android Studioリストビューで動的にボタンの背景
public class ColorAdapter extends BaseAdapter{
private LayoutInflater inflater;
private Activity activity;
private String[] colors;
public ColorAdapter(Activity activity, String[] colors){
this.activity=activity;
this.colors=colors;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(inflater==null){
inflater=(LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
if(convertView ==null){
convertView=inflater.inflate(R.layout.color_layout,null);
}
Button button= (Button) convertView.findViewById(R.id.button);
String thisColor = colors[position].toString();
button.setText(thisColor);
String attributeValue = button.getText().toString().toLowerCase();
if(thisColor == "black"){
button.setBackgroundColor(Color.BLACK);
}
return convertView;
}
}
それは色を変えていません。このコード: String thisColor = colors[position].toString(); button.setText(thisColor);
が「黒」に設定されています。私は何を取りこぼしたか?
ありがとうございます。
可能な重複http://stackoverflow.com/questions/513832/how- do-i-compare-strings-in-java) –
if(thisColor.equals( "black")){...}これを試してください – anonymous
文字列の比較を確認してください.. equalsegnorecaseまたは.equalsメソッドを使用する必要があります。 –