2016-04-16 5 views
2

Ich habe Spinner in verschiedenen Aktivitäten, um auszuwählen, welches Viertel angezeigt werden soll. Um zu versuchen, wenn es funktioniert, mache ich nur Toast zum Testen, aber es zeigt nicht.Spinner OnItemSelectedListener funktioniert nicht bei CustomListAdapter

Ich verwende es meine CustomListAdapter.

FeedListAdapter-Code

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

Wie ich über dem Toast erwähnen seine nicht zeigt. Was ist das Problem mit meiner Codierung?

Jede Hilfe oder Vorschlag ist gut! Ich brauche wirklich Ihre Hilfe Jungs !!

UPDATE

Hier ist meine andere Post über Textview mit Spinnern zu verstecken. Übrigens verstecke ich einen Artikel, der in CustomListAdapter ist.

Set visibility of TextView from different Layout not working Android

+0

Sie können a pp im Debug-Modus und mache einen Breakpoint in der Zeile 'String imc_met = mySpinner.getSelectedItem(). toString();' und sehe dann, welcher Wert zurückgegeben wird. Ich denke, dass Ihre Zeichenfolge "" anstelle von "1" zurückgibt. –

+0

@SadeqShajary warten Ich werde versuchen, –

+0

Sie könnten auch imc_met in einen Toast vor/ohne die if. – MikeT

Antwort

1

Nach Ermittlung, dass das eigentliche Problem in anderem Layout definiert wurde so dass die Sichtbarkeit der beiden Textviews einstellen. Der Vorschlag war, gemeinsame Präferenzen zu verwenden. Festlegen der freigegebenen Einstellungen im OnItemSelect-Listener des Spinner und Abrufen dieser in der jeweiligen Aktivität

Der folgende Code, von How to set a default value to SharedPreferences programmatically? wurde zum Einstellen des SharedPreference (n) zur Verfügung gestellt: -

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

Der folgende Code in Bezug auf das Abrufen der SharedPreferences bereitgestellt wurde: -

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

Beachten Sie, dass R.string.sharedpreferencekey_developermode den gemeinsamen Präferenz-Schlüsselnamen enthält.

Verwandte Themen