2
A
回答
0
我通過使用按鈕而不是微調來處理這個問題。 I have the sample project up on GitHub.
在該項目中,我顯示了微調和按鈕以顯示它們的確看起來完全相同。除了按鈕,您可以將初始文本設置爲任何您想要的內容(例如提示)。
這裏的活動看起來像什麼:
package com.stevebergamini.spinnerbutton;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Spinner;
public class MainActivity extends Activity {
Spinner spinner1;
Button button1;
AlertDialog ad;
String[] countries;
int selected = -1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner1 = (Spinner) findViewById(R.id.spinner1);
button1 = (Button) findViewById(R.id.button1);
countries = getResources().getStringArray(R.array.country_names);
// You can also use an adapter for the allert dialog if you'd like
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, countries);
ad = new AlertDialog.Builder(MainActivity.this).setSingleChoiceItems(countries, selected,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
button1.setText(countries[which]);
selected = which;
ad.dismiss();
}}).setTitle(R.string.select_country).create();
button1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
ad.getListView().setSelection(selected);
ad.show();
}});
}
}
0
試試這個:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
if (position == getCount()) {
((TextView)v.findViewById(android.R.id.text1)).setText("");
((TextView)v.findViewById(android.R.id.text1)).setHint(getItem(getCount())); //"Hint to be displayed"
}
return v;
}
@Override
public int getCount() {
return super.getCount()-1; // you dont display last item. It is used as hint.
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("Item 1");
adapter.add("Item 2");
adapter.add("Hint to be displayed");
spinner.setAdapter(adapter);
spinner.setSelection(adapter.getCount()); //displaying hint
在github又如:https://github.com/ravivyas84/AndroidSpinnerHint(由拉維維亞斯)
你可以使用一個小騙子,如果它可以幫助你的話您可以將文本顏色更改爲灰色。它可能不適用於許多情況。
希望它有助於!祝你好運!
相關問題
- 1. android微調顯示隱藏通知欄
- 2. Android - 如何使用微調來隱藏/顯示查看對象
- 3. 在Android中隱藏微調並單擊按鈕顯示
- 4. 顯示()/隱藏()把一個busyloading微調
- 5. 隱藏Android微調框的文字
- 6. 如何顯示隱藏在usercontrol中的文本框?
- 7. 顯示/隱藏文本框 - 可見
- 8. 顯示/隱藏控件文本框
- 9. 使用jQuery隱藏/顯示文本框
- 10. 微調提示不顯示
- 11. Android微調提示?
- 12. Android微調器顯示文本答案
- 13. 獲取隱藏字段文本以顯示在文本框中
- 14. javascript - 顯示/隱藏文本
- 15. jQuery:顯示隱藏文本
- 16. 如何在mouseleave上顯示/隱藏框?
- 17. Android:隱藏鍵盤並在微調框關閉後再次顯示
- 18. 顯示/隱藏時刪除的文本顯示/隱藏
- 19. 訪問:在文本框中顯示隱藏的組合框列
- 20. 隱藏/顯示Android中
- 21. 如何設置微調框提示?
- 22. 顯示和隱藏文本框中的跨度/標籤文本
- 23. iframe中隱藏的文本框在IE中顯示時不顯示
- 24. 在電話文本框中隱藏提示
- 25. 如何顯示在zend框架中隱藏帶標籤的文本框?
- 26. 如何隱藏和顯示在extjs複選框中的文本框
- 27. 如何顯示隱藏的文本框下拉selectedindex chnged事件?
- 28. 如何通過單擊文本框隱藏/顯示pickerview
- 29. 如何讓微調框顯示文本視圖
- 30. 如何在Android上的微調框setSelection()上設置提示值
請檢查此線程stackoverflow.com/questions/6602339/android-spinner-hint – Amrit
檢查我的答案http://stackoverflow.com/a/40341585/5239819 –