私は配列アダプターを使用してイメージとテキストを挿入するスピナーを作成しました。 OnItemSelected on私は画像だけではなく、テキストのみを選択したい。ここでAndroidカスタムスピナーSelectedItem
はMainActivity.java
ArrayList<ItemData> list = new ArrayList<>();
list.add(new ItemData("Select Plan Category",R.drawable.ic_bars));
list.add(new ItemData("Hookah",R.drawable.ic_006_hookah));
list.add(new ItemData("Drinks",R.drawable.ic_005_pint));
list.add(new ItemData("Gedi",R.drawable.ic_004_racing));
list.add(new ItemData("Snacks",R.drawable.ic_003_chips));
list.add(new ItemData("Shopping",R.drawable.ic_002_cart));
list.add(new ItemData("Bownling",R.drawable.ic_001_bowling));
SpinnerAdapter adapter = new SpinnerAdapter(getActivity(), R.layout.spinner_layout,R.id.categoryText,list);
categorySpinnerjava.setAdapter(adapter);
のための私のコードはここで(つまり、拡張されItemData.java
public class ItemData {
private String planCategorytext = "";
Integer imageId;
public ItemData(String text, Integer imageId)
{
this.planCategorytext=text;
this.imageId=imageId;
}
public String getPlanCategorytext() {
return planCategorytext;
}
public void setPlanCategorytext(String planCategorytext) {
this.planCategorytext = planCategorytext;
}
public Integer getImageId() {
return imageId;
}
public void setImageId(Integer imageId) {
this.imageId = imageId;
}
}
ための私のコードであり、ここでSpinnerAdapter.javaための私のコードですArrayAdapter
int groupid;
Activity getActivity;
ArrayList<ItemData> list;
LayoutInflater inflater;
public SpinnerAdapter(Activity context, int groupid, int id, ArrayList<ItemData> list) {
super(context, id,list);
this.list=list;
inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.groupid=groupid;
}
public View getView(int position, View convertView, ViewGroup parent)
{
View itemView = inflater.inflate(groupid,parent,false);
ImageView imageView=(ImageView)itemView.findViewById(R.id.categoryVector);
imageView.setImageResource(list.get(position).getImageId());
TextView textView = (TextView)itemView.findViewById(R.id.categoryText);
textView.setText(list.get(position).getPlanCategorytext());
return itemView;
}
public View getDropDownView(int position, View convertView, ViewGroup parent)
{
return getView(position,convertView,parent);
}
私は通常画像を選択しません。電子
String spinnerselection = categorySpinnerjava.getSelectedItem().toString();
それはInterface
を使用して実装してみてくれ "[email protected]"
私は文字列を使用しましたselectedText = list.get(pos).getPlanCategorytext(); しかし、ArrayList finalを宣言するように私に尋ねました。 それは機能しますが、最終的にarraylistの宣言は何をしましたか? –
最終決定は、フィールドが定数であり、変更できないことを保証します。これにより、メソッド内の任意の場所で使用される値が、渡された値を参照することが保証されます。 – captaindroid
@UjjwalBassi、その場合は答えとして受け入れてください。 – captaindroid