2017-02-13 1 views

답변

0

텍스트와 이미지 뷰와 사용자 정의 어댑터를 만듭니다

public class CustomSpinnerAdapter extends BaseAdapter { 
Context context; 
int image[]; 
String[] text; 
LayoutInflater inflter; 

public CustomAdapter(Context applicationContext, int[] image, String[] text) { 
    this.context = applicationContext; 
    this.image = image; 
    this.text = text; 
    inflter = (LayoutInflater.from(applicationContext)); 
} 

@Override 
public int getCount() { 
    return flags.length; 
} 

@Override 
public Object getItem(int i) { 
    return null; 
} 

@Override 
public long getItemId(int i) { 
    return 0; 
} 

@Override 
public View getView(int i, View view, ViewGroup viewGroup) { 
    view = inflter.inflate(R.layout.spinner_item_layout, null); 
    ImageView icon = (ImageView) view.findViewById(R.id.spImageView); 
    TextView names = (TextView) view.findViewById(R.id.spTextView); 
    icon.setImageResource(image[i]); 
    names.setText(text[i]); 
    return view; 
} 

}

그런 다음 회에이 어댑터를 설정합니다

여기
CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this, YourImageArray, YourTextArray); 
     spinner.setAdapter(adapter); 

각 회 전자 항목 (spinner_item_layout의 레이아웃입니다. xml) :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/spTextView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <ImageView 
      android:id="@+id/spImageView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:contentDescription="@string/app_name"/>" 

</LinearLayout> 

희망이 도움이됩니다. :)

+0

저는 녹색 손입니다. 그래서 레이아웃 사이의 차이점은 무엇입니까? spinner_value_layout과 spinner_item_layout.in 다른 말로하면,이 레이아웃이 무엇인지 스피너 값을 작성하는 방법은 무엇입니까? 나는 수수께끼입니다. ..... ..... .. –

+0

대답을 편집했습니다. 이전보다 간단합니다. 제게 의견을주세요. – tahsinRupam

+0

예, 만들었습니다. 유용합니다.이 웹 사이트의 메커니즘을 통해 15 가지 평판을받을 때까지 투표 할 수 없습니다. 다시 고맙습니다. –