2017-04-03 7 views
1

나는 SQL의 레코드로 Spinner를 채우기 위해 BaseAdapter를 정의한다. Spinner의 항목에 대해 SQL 데이터베이스의 Record ID와 같게 setTag를 설정한다.안드로이드 : Spinner setSelection by

public static class Refueling_Adapter extends BaseAdapter { 
    private Context vContext; 
    private List<Banziny.Refuel> mRefuelingList; 
    //private int mListing; 

    public Base_Adapter(Context vContext, List<AppTest.basic> mBaseList) { 
     this.vContext = vContext; 
     this.mBaseList = mBaseList; 
    } 

    @Override 
    public int getCount() { 
     return mBaseList.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return mBaseList.get(position); 
    } 

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

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

      convertView = View.inflate(vContext, R.layout.item_base, null); 
      convertView.setTag(mBaseList.get(position).getBase_id()); 

      TextView Basename = (TextView) convertView.findViewById(R.id.txt_Base_name); 
      Basename.setText(mBaseList.get(position).getBase_name()); 


     return convertView; 
    } 
} 

알다시피, 스피너 항목에 대한 태그를 SQL 레코드 ID와 동일하게 설정했습니다. 이제 SQL Record ID와 동일한 Tag를 사용하여 Spinner 용 setSelected를 알아야합니다.

int baseidtoselect = mBaseList.get(0).getBase_ID(); 

이 ID는 데이터베이스에서 검색 한 것이므로 스피너에서 태그를 찾아야합니다.

답변

0

이 기능을 사용할 수 있습니다

public static void selectItemByTag(Spinner spinner, int tag) { 
    Refueling_Adapter adapter = (Refueling_Adapter) spinner.getAdapter(); // it is Refueling_Adapter because your Spinner use Refueling_Adapter 
    for (int position = 0; position < adapter.getCount(); position++) { 
     if(((YourObjectModel)adapter.getItem(position)).getBase_id() == tag) { // YourObjectModel here is AppTest.basic 
      spinner.setSelection(position); 
      return; 
     } 
    } 
} 
+0

나는이 함께 문제를했습니다 ((YourObjectModel) adapter.getItem (위치)) 내가 코드에서 어떤 의견을 가지고 @MohamedAtef. getBase_id() –

+0

는 그것을 –

+0

를 참조하시기 바랍니다 내 코드로 조정했지만 생각은 나에게 잘 보인다. 감사 –