2016-09-07 59 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()方法,所以它会工作。

相关问题