私はこの回答を試みた Android spinner showing object reference instead of string しかし、私のために働いていませんでした。スピナードロップダウンビュー表示参照
私は'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1'
ライブラリ
私はspinnerdropdown
に関する問題に直面していますを使用しています。 私はスピナーのためCustomAdapter
をしたが、dropdownview
で、それは私のアダプターコード
public class CustomAdapter extends ArrayAdapter<SpinnerItems> {
LayoutInflater inflater;
Activity context;
private List<SpinnerItems> spinnerItemsList;
public CustomAdapter(@NonNull Activity context, @LayoutRes int resource,List<SpinnerItems> spinnerItemsList) {
super(context, resource,spinnerItemsList);
this.context=context;
this.spinnerItemsList=spinnerItemsList;
//inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View row = convertView;
if(row == null)
{
LayoutInflater inflater = context.getLayoutInflater();
row = inflater.inflate(R.layout.simple_item_spiner, parent, false);
}
SpinnerItems spinnerItems=spinnerItemsList.get(position);
String name=spinnerItems.getName();
TextView label=(TextView)row.findViewById(R.id.spinnertitle);
label.setText(spinnerItemsList.get(position).getName());
return row;
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View row = convertView;
Log.d("drop","drp");
LayoutInflater inflater = context.getLayoutInflater();
row = inflater.inflate(R.layout.simple_item_spiner, parent, false);
SpinnerItems spinnerItems=spinnerItemsList.get(position);
String name=spinnerItems.getName();
TextView label=(TextView)row.findViewById(R.id.spinnertitle);
label.setText(spinnerItemsList.get(position).getName());
Toast.makeText(getContext(),String.valueOf(spinnerItems),Toast.LENGTH_LONG).show();
return row;
}
}
私はdropdown
にToast
とログを印刷しますがここで
f1312a01 @
spinneritems同様の参照 をされることを示します
ここgetdropdownview
メソッドには入っていないようですはメインクラスです:
for (int i = 0; i < response.length(); i++) { SpinnerItems spinnerItems=new SpinnerItems(response.getJSONObject(i).getString("id"),response.getJSONObject(i).getString("name")); cityList.add(spinnerItems); } cityAdapter = new CustomAdapter(getActivity(),R.layout.simple_item_spiner,cityList); city.setAdapter(cityAdapter);
あなたは、オブジェクト参照を示す[Androidのスピナーのこのhttps://stackoverflow.com/a/15776859/6630837 –
が重複する可能性が表示されます文字列の代わりに](https://stackoverflow.com/questions/15776661/android-spinner-showing-object-reference-instead-of-string) –
@SudheeshR私のコードをチェックしてください。私はそのコードを試しました:)しかし、私のために働いていませんでした –