如何从自定义微调Android中

问题描述:

enter image description here如何从自定义微调Android中

公共类MainActivity删除选择项目延伸活动{

String[] DayOfWeek = { "Select Item", "1", "2", "3", "4", "5", "6" }; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Spinner mySpinner = (Spinner) findViewById(R.id.spinner); 
    mySpinner.setAdapter(new MyCustomAdapter(MainActivity.this, 
      R.layout.row, DayOfWeek)); 
} 

public class MyCustomAdapter extends ArrayAdapter<String> { 

    public MyCustomAdapter(Context context, int textViewResourceId, 
      String[] objects) { 
     super(context, textViewResourceId, objects); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public View getDropDownView(int position, View convertView, 
      ViewGroup parent) { 
     // TODO Auto-generated method stub 
     return getCustomView(position, convertView, parent); 
    } 

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

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

     LayoutInflater inflater = getLayoutInflater(); 
     View row = inflater.inflate(R.layout.row, parent, false); 
     TextView label = (TextView) row.findViewById(R.id.weekofday); 
     label.setText(DayOfWeek[position]); 

     ImageView icon = (ImageView) row.findViewById(R.id.icon); 

     if (DayOfWeek[position] == "Sunday") { 
      icon.setImageResource(R.drawable.icon); 
     } else { 
      icon.setImageResource(R.drawable.icongray); 
     } 

     return row; 
    } 
} 

}

这里是我的代码,我能够在旋转显示的价值,但我希望显示仅在Textview中选择项目不在Value中,同时其显示值也告诉我如何删除该项目,请参阅屏幕并告诉我如何删除该项目

+0

AFAIK这不是Android'Spinner'工作的方式:它只显示值,而不显示标题。所以只需使用值并删除“选择项目”。 – shkschneider 2014-12-05 10:40:28

+0

正如@shkschneider所述,这不是微调器的工作原理: 在微调控制器上方添加一个textView并从微调控制器中删除“Select item”数据 – Altoyyr 2014-12-05 10:43:19

+0

使用spinner.setPrompt(“Select Item”);并从DayOfWeek数组中删除这个“Select Item”字符串。 – 2014-12-05 10:44:17

一个简单的解决办法是:
a)所述阵列修改到

String[] DayOfWeek = { "1", "2", "3", "4", "5", "6" }; 

b)中呼叫mySpinner.setPromptId(),并设置与值 “选择信息” 的字符串reosurceId。

仅当下拉未打开或关闭时才有“选择项目”,请点击此链接How to make an Android Spinner with initial text "Select One"

+0

我在哪里设置mySpinner.setPromptId()? – Edge 2014-12-05 11:16:37

+0

@ 太空请检查其 – Edge 2014-12-05 11:19:10

+0

在mySpinner初始化后的onCreate()中。 – thepace 2014-12-05 11:25:23

ListPopupWindow numberList; 
TextView spDays; 
ArrayList<Map<String, String>>() listTrans; 

in oncreate spDays.setonclicklistner(this);spDays.setText("Select"); 
setNumberListSpinnerView(); 
in onclick(){ 
    when spDays clicked :- numberList.show(); 
} 


void setNumberListSpinnerView() { 

    numberList= new ListPopupWindow(this); 
    numberList.setAnchorView(spDays); 

    numberList.setOnItemClickListener((new AdapterView.OnItemClickListener() { 
     @Override 
     getListItem(); 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      Map map = listTrans.get(position); 
      spDays.setText(map.get("circle_name").toString()); 
      circle_name = map.get("circle_name") + ""; 
      circle_id = map.get("circle_id").toString(); 
      circleList.dismiss(); 
      Log.d("Circle id:", circle_id + ""); 
      getRetails(); 

     } 
    })); 
} 


void getListItem(){ 
    String[] numbers = {"1","2","3","4","5","6"}; 
    listTrans = new ArrayList<Map<String, String>>(); 
    LinkedHashMap<String, String> tran = new LinkedHashMap<String, String>(); 
    for (String number : numbers) { 
     tran.put("numbers", number); 
     listTrans.add(tran); 
    } 
    SimpleAdapter adapter = new SimpleAdapter(AddRetailSurvey.this, listTrans, 
      android.R.layout.simple_spinner_dropdown_item, 
      new String[]{"numbers"}, 
      new int[]{android.R.id.text1}); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    numberList.setAdapter(adapter); 
} 

更改代码与您的要求,检查并让我知道如果你面临任何问题。这项技术的最佳部分可以改变文字颜色。谢谢:)

+0

好的给我一个小例子,我可以实现这个 – Edge 2014-12-05 12:11:21

+0

好吧,等等,我会告诉你代码。 – Biswajit 2014-12-05 12:13:42