2016-09-07 52 views
0

在我的場景中,單擊spinner時,值下拉列表將彈出列表視圖文本項左對齊。現在我想要的是從列表項目中選擇,當它設置爲微調值時,文本項目應該右對齊。Android在從「listitem」中選擇後更改「spinner text」的引力

無法找到解決方案。

下面是我的微調代碼

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

下面是我的適配器代碼

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

你需要重寫getDropDownView()方法設置文本左對齊下拉和選定的項目設置文本中心你需要重寫getView或getContentView方法 – Vickyexpert

+0

@Vickyexpert非常感謝。 – hari86

+0

享受你的編碼,你可以接受下面的答案 – Vickyexpert

回答

0

要格式化和管理降值,你需要重寫方法 getDropDownView()

對於選定的項目,您需要覆蓋getView()getContentView()方法,所以它會工作。

相關問題