Spinner OnItemSelectedListener无法处理CustomListAdapter

时间:2016-04-16 04:26:03

标签: android listview spinner

我有不同活动的微调器来选择要显示的季度。为了尝试它的工作,我只做吐司测试,但没有显示。

我将它应用于我的CustomListAdapter。

FeedListAdapter代码

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final int gradeid;
        final int subjectid;
        final int studentid;
        final String first;
        final String second;
        final String third;
        final String fourth;
        final String subjname;
        final String remrks;

        if (inflater == null)
            inflater = (LayoutInflater) activity
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (convertView == null)
            convertView = inflater.inflate(R.layout.feed_item, null);

        if (imageLoader == null)
            imageLoader = AppController.getInstance().getImageLoader();

        final FeedItem item = feedItems.get(position);

        first2 = (TextView) convertView.findViewById(R.id.txtfirst2);
        first3 = (TextView) convertView.findViewById(R.id.txtfirst);

        LayoutInflater layoutInflater =
                (LayoutInflater) activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View addView = layoutInflater.inflate(R.layout.activity_grades, null);

        final Spinner mySpinner = (Spinner) addView.findViewById(R.id.spinner);

        mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                String imc_met= mySpinner.getSelectedItem().toString();
                if (imc_met.equals("1")){
                    Toast.makeText(context, "1", Toast.LENGTH_SHORT).show();
                    //first3.setVisibility(View.GONE);
                    //first2.setVisibility(View.GONE);
                }


            }
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

return convertView;
    }

正如我上面提到的 Toast 它没有显示。我的编码问题是什么?

任何帮助或建议都是适用的!我真的需要你的帮助!!

更新

以下是我使用 Spinner 隐藏 textview 的其他帖子。顺便说一下,我隐藏了 CustomListAdapter 中的项目。

Set visibility of TextView from different Layout not working Android

1 个答案:

答案 0 :(得分:1)

确定真正的问题是设置其他布局中定义的两个TextView的可见性。建议是使用共享首选项。在微调器的OnItemSelect侦听器中设置共享首选项,并在相应的活动中检索它们。

以下代码来自How to set a default value to SharedPreferences programmatically?,用于设置SharedPreference: -

    SharedPreferences prefs = getActivity().getSharedPreferences(
            PREFS_NAME, 0);
    if (prefs.getInt("key_weight", null) == null) {
        Editor editor = prefs.edit();
        editor.putInt("key_weight", 75);
        editor.commit();
    }

提供了以下有关检索SharedPreferences的代码: -

        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
        final boolean devmode = sp.getBoolean(getResources().getString(R.string.sharedpreferencekey_developermode),false);

注意到R.string.sharedpreferencekey_developermode拥有共享首选项键名