首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复选择微调器当前选定的项目

重复选择微调器当前选定的项目
EN

Stack Overflow用户
提问于 2019-06-11 13:26:09
回答 1查看 39关注 0票数 0

我希望即使在微调器的当前选定项被重复选择时,事件也会发生。例如,如果选择了0,然后又选择了0,我想让事件再次飞行。

代码语言:javascript
复制
public class MySpinner extends Spinner{

OnItemSelectedListener listener;

public MySpinner(Context context, AttributeSet attrs)
{
super(context, attrs);
}

@Override
public void setSelection(int position)
{
super.setSelection(position);

if (position == getSelectedItemPosition())
{
listener.onItemSelected(null, null, position, 0);
} 
}

public void setOnItemSelectedListener(OnItemSelectedListener listener)
{
this.listener = listener;
}
}

我用这段代码定义了一个扩展类。如何将其应用于现有的微调器?

下面是当前的源代码。

代码语言:javascript
复制
public static TextView mTXT_DRS4DL, mTXT_DRS4D_NXT;
public static Spinner mSPI_DRS4DL, mSPI_DRS4D_NXT;
public static ArrayList<String> mLIST_DRS4DL, mLIST_DRS4D_NXT;
public static ArrayAdapter<String> mADAPTER_DRS4DL, mADAPTER_DRS4D_NXT;
private static boolean isFirstSelected = true;
private static String mCheckString = "";

{

    mSPI_DRS4DL = PlatMainActivity.instance.findViewById(R.id.spi_DRS4DL);
    mLIST_DRS4DL = new ArrayList( Arrays.asList());
    mADAPTER_DRS4DL = new ArrayAdapter<>(PlatMainActivity.instance, R.layout.support_simple_spinner_dropdown_item, mLIST_DRS4DL);
    mSPI_DRS4DL.setAdapter(mADAPTER_DRS4DL);

    mSPI_DRS4D_NXT = PlatMainActivity.instance.findViewById(R.id.spi_DRS4D_NXT);
    mLIST_DRS4D_NXT = new ArrayList( Arrays.asList());
    mADAPTER_DRS4D_NXT = new ArrayAdapter<>(PlatMainActivity.instance, R.layout.support_simple_spinner_dropdown_item, mLIST_DRS4D_NXT);
    mSPI_DRS4D_NXT.setAdapter(mADAPTER_DRS4D_NXT);
}
代码语言:javascript
复制
public static void Search(String mSearch)
{
    String mRemoveName;

    if(mSearch.contains("DRS4DL")) {
        mRemoveName = mSensorSearch.replaceAll(":DRS4DL", "");
        mADAPTER_DRS4DL.add(mRemoveSensorName);
        mADAPTER_DRS4DL.notifyDataSetChanged();
    }
    else if(mSearch.contains("DRS4D-NXT")) {
        mRemoveName = mSensorSearch.replaceAll(":DRS4D-NXT", "");
        mADAPTER_DRS4D_NXT.add(mRemoveSensorName);
        mADAPTER_DRS4D_NXT.notifyDataSetChanged();
    }
}
代码语言:javascript
复制
public static void SensorSpinnerEvent()
{
    mSPI_DRS4DL.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            //AbstractDataInterface.SendCmdMessage(mMessage, AbstractDataInterface.SEND_TO_DATA, PlatCmdMessage.MsgTouch.Req.SelRadar, 0);
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

    mSPI_DRS4D_NXT.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

            if(isFirstSelected)
            {
                isFirstSelected = false;
            } else {
                switch (position) {
                    case 0:
                        mCheckString = mLIST_DRS4D_NXT.get(0);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                        break;

                    case 1:
                        mCheckString = mLIST_DRS4D_NXT.get(1);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                       break;

                    case 2:
                        mCheckString = mLIST_DRS4D_NXT.get(2);
                        Log.e("LOG", "---------------------------------------------------->> DRS4D_NXT Check String : " + mCheckString);
                        break;
                }
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-11 13:42:28

在可扩展标记语言中对MySpinner进行widget。然后替换

代码语言:javascript
复制
public static Spinner mSPI_DRS4DL, mSPI_DRS4D_NXT;

使用

代码语言:javascript
复制
public static MySpinner mSPI_DRS4DL, mSPI_DRS4D_NXT;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56537017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档