Spinner.setSelection()没有设置位置

时间:2016-03-15 05:51:15

标签: android android-spinner

我在我的应用程序的微调器中设置微调器位置。它设置为我使用我的应用程序,但只要我关闭我的应用程序并再次打开它,或者如果我从后台运行应用程序关闭它,则微调器设置为默认值。可能是什么原因?

这是我的代码:

 public boolean setTdpId(ArrayList<String> tdpList) {
    try {
        tdpIdList = tdpList;
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                ArrayAdapter<String> spinnerAdapter;
                tdpidSpinner = new Spinner(Activity_Settings.this);
                rowTdpid.setLongClickable(true);
                TableRow.LayoutParams tdpid_spinner_params = new 
 TableRow.LayoutParams(
                        0, LayoutParams.WRAP_CONTENT, 3f);
                tdpidSpinner.setLayoutParams(tdpid_spinner_params);
                rowTdpid.addView(tdpidSpinner);
                tdpidSpinner.setPrompt("Select TdpId");
                tdpidSpinner.setLongClickable(true);
                tdpidSpinner.setClickable(true);

                if (tdpIdList != null && tdpIdList.size() > 0) {
                if (screenSize.equalsIgnoreCase("large")) {
                     spinnerAdapter = new ArrayAdapter<String>(
                            Activity_Settings.this,
                            R.layout.spinner_custom_textview, tdpIdList);
                    }else{
                        spinnerAdapter = new ArrayAdapter<String>(
                                Activity_Settings.this,
                                android.R.layout.simple_spinner_item, 
 tdpIdList);
                    }
                    tdpidSpinner.setAdapter(spinnerAdapter);

                    String tdpid = mActivity.getSharedPreferences(
                            Utility.PREFERENCE_NAME, Context.MODE_PRIVATE)
                            .getString(Utility.TDPID, "");

                    if (tdpid != "") {
                        int spinnerPosition = spinnerAdapter
                                .getPosition(tdpid);
                        tdpidSpinner.setSelection(spinnerPosition);
                        tdpidSpinner.setEnabled(false);

                    }

                }

            }

        });
        tdpidTv.setOnLongClickListener(new OnLongClickListener() {

            @Override
            public boolean onLongClick(View v) {
                tdpidSpinner.setEnabled(true);
                return true;
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    return true;
}

0 个答案:

没有答案