简体   繁体   English

Android:Spinner setSelection by Tag

[英]Android: Spinner setSelection by Tag

I define BaseAdapter to fill Spinner with records from SQL I setTag for item in Spinner to equal Record ID in SQL database. 我定义了BaseAdapter来为Spinner填充来自SQL的setTag中的记录,以便Spinner中的项目与SQL数据库中的Record ID相等。

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;
    }
}

As you see I set Tag for spinner item to equal SQL record ID. 如您所见,我将spinner项的Tag设置为等于SQL记录ID。 Now I just need to know how to setSelected for Spinner using Tag which equals SQL Record ID. 现在我只需要知道如何使用Tag等于SQL记录ID来为Spinner设置SetSelected。

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

this id retrieved from database and i need to find tag in spinner. 从数据库中检索到这个id,我需要在spinner中找到标签。

You can use this function 您可以使用此功能

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;
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM