私はツールバーでセットアップする必要があるスピナーのために、以下の画像を添付しました。Android:メニューリソースxmlファイルからツールバーのスピナーを設定するには?
文字列配列を使用してスピナーを設定しましたが、各項目のほかにテキストだけが表示され、色付きの点は表示されません。カスタムアダプターを使ってスピナーを設定しようとしましたが、スピナードロップダウンで項目をクリックした後にドットが表示されます。
誰でもこれを達成する方法についてお手伝いできますか?参照やリンクは参考になります。また、任意のres/menu /ファイルからスピナーを読み込むことはできますか?
ツールバーのイメージツールバースピナーメニューをクリックした後、スピナー
をクリックする前に
誰もが必要とする場合、私は参考のために、顧客アダプターコードを添付しています
カスタムアダプターコード:
public class HeaderStockOverviewAdapter extends ArrayAdapter<HeaderSpinnerItem> {
private LayoutInflater inflater;
public HeaderStockOverviewAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull HeaderSpinnerItem[] objects) {
super(context, resource, objects);
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return getRowView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return getRowView(position, convertView, parent);
}
@NonNull
private View getRowView(int position, @Nullable View convertView, @Nullable ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.header_spinner_item, parent, false);
}
TextView txtTitle = convertView.findViewById(R.id.title);
ImageView imageView = convertView.findViewById(R.id.icon);
HeaderSpinnerItem rowItem = getItem(position);
txtTitle.setText(rowItem.getText());
imageView.setBackgroundColor(rowItem.getColor());
return convertView;
}
}
PS:私はAPI 21のデバイスをターゲットと
カスタムアダプターのコードをアップロードできますか? – hsm59
カスタムアダプタコードを追加 –