タグ付けされた質問 「android-spinner」

スピナーは、ユーザーがドロップダウンリストのようにグループからアイテムを選択できるようにするコントロール/ウィジェットです...

30
最初のテキストが「1つ選択」のAndroidスピナーを作成するにはどうすればよいですか?
最初に(ユーザーがまだ選択していないときに)「1つ選択」というテキストを表示するスピナーを使用したいと思います。ユーザーがスピナーをクリックすると、アイテムのリストが表示され、ユーザーはオプションの1つを選択します。ユーザーが選択を行うと、「1つ選択」ではなく、選択したアイテムがスピナーに表示されます。 スピナーを作成する次のコードがあります。 String[] items = new String[] {"One", "Two", "Three"}; Spinner spinner = (Spinner) findViewById(R.id.mySpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); このコードでは、最初に項目「One」が表示されます。新しいアイテム「1つ選択」をアイテムに追加するだけで、「1つ選択」もドロップダウンリストに最初のアイテムとして表示されますが、これは適切ではありません。 この問題を解決するにはどうすればよいですか?

30
新しくインスタンス化されたスピナーでonItemSelectedが起動しないようにするにはどうすればよいですか?
私はこれを解決するためのエレガントではない方法をいくつか考えましたが、私は何かを見逃しているに違いないことを知っています。 私のonItemSelectedユーザーとの対話なしですぐにオフ火災、これは望ましくない動作です。ユーザーが何かを選択するまでUIが待機してから何かを実行したいと思います。 私はでリスナーを設定することを試みましたがonResume()、それが役に立てば幸いですが、そうではありません。 ユーザーがコントロールに触れる前に、これが発火しないようにするにはどうすればよいですか? public class CMSHome extends Activity { private Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Heres my spinner /////////////////////////////////////////// spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.pm_list, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); }; public void onResume() { super.onResume(); spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); } public class …




19
Android Spinner:初期化中のonItemSelected呼び出しを回避
とを使用してAndroidアプリケーションを作成しましSpinnerたTextView。TextViewのSpinnerのドロップダウンリストから選択したアイテムを表示したい。onCreateメソッドにスピナーを実装したので、プログラムを実行しているときに、TextView(ドロップダウンリストから項目を選択する前に)に値が表示されます。 ドロップダウンリストから項目を選択した後でのみ、TextViewに値を表示します。どうすればよいですか? これが私のコードです: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; public class GPACal01Activity extends Activity implements OnItemSelectedListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner = (Spinner) findViewById(R.id.noOfSubjects); // …


6
Androidでスピナーをカスタマイズする方法
Spinnerたとえば30 dpのドロップダウンにカスタムの高さを追加し、のドロップダウンリストの仕切りを非表示にしたいSpinner。 これまでのところ、私は以下のスタイルを実装しようとしましたSpinner: <style name="spinner_style"> <item name="android:paddingLeft">0dp</item> <item name="android:dropDownWidth">533dp</item> <item name="android:showDividers">none</item> <item name="android:dividerHeight">0dp</item> <item name="android:popupBackground">@drawable/new_bg</item> <item name="android:dropDownHeight">70dp</item> <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> <item name="android:dropDownSelector">@android:color/white</item> </style> そして私のスピナーのコードは: <Spinner android:id="@+id/pioedittxt5" android:layout_width="543dp" android:layout_height="63dp" android:layout_toRightOf="@+id/piotxt5" android:background="@drawable/spinner" style="@style/spinner_style" android:dropDownVerticalOffset="-53dp" android:spinnerMode="dropdown" android:drawSelectorOnTop="true" android:entries="@array/travelreasons" android:prompt="@string/prompt" /> しかし、何も機能していないようです。

6
エラーが発生しました:setOnItemClickListenerはスピナーでは使用できませんが、何が問題なのですか?
親切にこれは以下の私のコードであり、その下にエラーメッセージを貼り付けています。setOnItemClickListenerスピナーで使用しようとしていますが、許可されますか? @Override public void onItemClick(AdapterView<?> arg0, View v, int index, long arg3) { if (quantity[index]=="Meter" ){ s1="Meter"; Toast.makeText(v.getContext(), "convert from meter",Toast.LENGTH_SHORT).show(); } } }); convertto.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg, View v1, int index1, long arg4) { if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter"))) { Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show(); var2=var1; lresult.setText("" …

7
プログラムでフォントのカスタムフォントをスピナーテキストに設定する方法
アセットフォルダにttfフォントファイルがあります。私はそれをtextviewsに使用する方法を知っています: Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf"); textview1.setTypeface(externalFont); 私はそれ自身のxmlファイルで自分のスピナーテキストの外観を定義しました(androidの通常のように): <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:textColor="#ffffff" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="marquee" /> 私はコードからこのテキストビューを参照できません。常にnullポインター例外が発生します。例えば私が試した: TextView spinner_text=(TextView)findViewById(R.id.text1); spinner_text.setTypeface(externalFont); 独自のxmlで定義されたスピナーテキストでも、外部フォントを選択することはできますか? ありがとうございました。 答えを編集: これは機能します: String [] items = new String[2]; items[0]="Something1"; items[1]="Something2"; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinaca, items) { public View getView(int position, View convertView, …

10
Spinnerにフローティングラベルを追加する方法
Androidデザインサポートライブラリを使用してTextInputLayoutフローティングラベルをEditTextコンポーネントの上に配置した後、フローティングラベルをコンポーネントに追加する方法Spinner(デザインライブラリを使用する必要はない)があるかどうか疑問に思いました。 これは、の上にTextView配置されたようなものを意味しますSpinner(明らかにのようなアニメーションはありませんTextInputLayout)が、テキストサイズ、フォント、および色をTextInputLayoutのフローティングラベルのそれに一致させる必要があります。 たとえば、次のようになります(Spinnersの上にあるラベルを参照)。 前に述べたように、私の主な目的はとSpinner同じようにの上にラベルを付けることです。つまり、TextInputLayoutテキストサイズ、フォント、色、ラベルとコンポーネント間の距離は同じになります。 上のラベルのテキストフィールドを浮動に関するGoogleのデザインのページ、コンポーネントに対するラベルの寸法を示す図がありますが、ラベルテキストの色や大きさの兆候はありません。 要約すると、私は次のように質問し ています。 -そうでない場合は、ので、私は置くことができることを何浮動ラベルテキストのサイズ、色、フォントがあり、TextView私の上のSpinner上の画像に示すレイアウト寸法で。 編集: テキストフィールドのGoogleデザインガイドラインから、フローティングラベルには次のようになります。 ヒントと入力フォント:Roboto Regular 16sp ラベルフォント:Roboto Regular 12sp タイルの高さ:72dp テキストの上下のパディング:16dp テキストフィールドの仕切りのパディング:8dp 上記の画像と同様に。 したがって、フローティングラベルフォントはRoboto Regular 12spです。したがって、使用できるカスタムsや特別なコンポーネントがわからないため、a TextViewを使用してSpinnerラベルを表示Viewできます。 ただし、試してみたところ、図に示す例ほどよく見えません。カスタムビューは、より良い、このためかもしれそれはよりよいを見ることができるように、しかし、上記の溶液は近い私が最初に何を望むかに何かを達成するためのひとつの方法です。

2
Android:プログラムでJavaコードからスピナーを埋める
プログラムでJavaコードからスピナーをどのように埋めますか? 私はこのようなレイアウトのスピナーを持っています: <Spinner android:id="@+id/consultation_deseases" android:layout_width="@dimen/bigSpinnerWidth" android:layout_height="@dimen/bigSpinnerHeight" android:prompt="@string/disease_prompt" /> Javaコードを使用して、アダプターを作成し、アイテムを追加する必要があります。

3
アクションバーにドロップダウンアイテムを追加する方法
私のAndroidHoneycombアプリケーションでは、ナビゲーションスタイルとしてタブを使用しています。オーバーフローボタンの横に1つのアイテムを追加したいのですが、そのアイテムをドロップダウンリストにしたいので、ユーザーはそこでオプションを選択できますが、ナビゲーションとは関係ありません。私が使用しているので最も簡単な方法は何ですかmActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); カスタムビューを使用せずにそれを行うことは可能ですか?

14
Spinnerが選択したアイテムの値を文字列に変換するにはどうすればよいですか?
私は5つのスピナーを持っています。これを要約するために。 これはxmlのSpinnerです <Spinner android:id="@+id/text_interested" android:layout_span="2" android:layout_width="wrap_content" android:layout_height="60px" android:entries="@array/interestedarrays" android:prompt="@string/interestedprompt" /> これはJavaのSpinnerです submitbtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected( AdapterView<?> adapterView, View view, int i, long l) { interesting = interested.getItemAtPosition(i).toString(); } public void onNothingSelected( AdapterView<?> adapterView) { } }); } }); ここでの説明: ページにボタンがあります。このボタンを押すと、スピナーからデータが読み取られます。これで出力を確認しました …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.