要修改特定 Spinner 项中的文本,可以使用自定义的 ArrayAdapter。以下是一个示例代码:
public class CustomArrayAdapter extends ArrayAdapter {
private Context context;
private String[] values;
public CustomArrayAdapter(Context context, int resource, String[] values) {
super(context, resource, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.spinner_item, parent, false);
TextView textView = rowView.findViewById(R.id.spinner_text); // 获取 Spinner 中的文本控件
textView.setText(modifyItemText(values[position])); // 修改特定项的文本
return rowView;
}
private String modifyItemText(String text) {
// 在这里修改特定项的文本
return text + " (Modified)";
}
}
String[] items = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
Spinner spinner = findViewById(R.id.spinner);
CustomArrayAdapter adapter = new CustomArrayAdapter(this, R.layout.spinner_item, items);
spinner.setAdapter(adapter);
这样,Spinner 中的每个项的文本都会通过 modifyItemText 方法进行修改,并显示在 Spinner 中。您可以根据实际需求修改 modifyItemText 方法中的逻辑来自定义文本的修改。