2016-09-07 7 views
0

私のシナリオでは、スピナーをクリックすると、リストビューのテキスト項目が左に揃った値のドロップダウンが表示されます。今私が望んでいたのは、スピン値に設定するときにリスト項目から選択した後、テキスト項目を右揃えにする必要があります。Androidが「listitem」から選択した後の「スピナーテキスト」の重力を変更しました

解決策が見つかりません。以下は

私のスピナーコードの下

ArrayAdapter<String> adapter = new d4ValuesListAdapter(getActivity(),R.layout.spinner_dropdown_item, sVals); 

     dynamicSpinner.setAdapter(adapter); 

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


       Log.v("item", (String) parent.getItemAtPosition(position)); 
       dynamicSpinner.setGravity(Gravity.END); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 
       // TODO Auto-generated method stub 
      } 
     }); 

は、ドロップは、あなたが方法 getDropDownView()

をオーバーライドする必要が値フォーマットし、管理するために私のアダプタコード

public View getCustomView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    //return super.getView(position, convertView, parent); 

    LayoutInflater inflater= ((FragmentChangeActivity) context).getLayoutInflater(); 
    View row=inflater.inflate(R.layout.spinner_dropdown_item, parent, false); 
    TextView label=(TextView)row.findViewById(R.id.spinnervalues); 
    label.setText(DayOfWeek[position]); 
    sharedPrefrences =getActivity().getSharedPreferences(Constants.PREFERENCE_FILENAME,Activity.MODE_PRIVATE); 
    int spinneritem = sharedPrefrences.getInt(Constants.SPINNER_LISTITEM, -1); 
    if(spinneritem == position){ 
     label.setBackgroundColor(getResources().getColor(R.color.turquise_blue)); 
     label.setTextColor(getResources().getColor(R.color.white_color)); 
    } 

    return row; 
    } 
+1

ドロップダウンの場合は左揃え、getViewまたはgetContentViewのメソッドをオーバーライドする必要があるテキストを中央に設定するにはgetDropDownView()メソッドをオーバーライドする必要があります。 – Vickyexpert

+0

@Vickyexpertありがとうございました。 – hari86

+0

コーディングをお楽しみください。あなたは以下の回答を受け入れることができます – Vickyexpert

答えて

0

でされており、

選択したアイテムについて、getView()またはgetContentView()メソッドをオーバーライドする必要があります。

関連する問題