1

「その他」選択時に文字を入力したい

Spinner spn;
........
adapterString = new String[]
{
    "A",
    "B",
    "Other"
};
ArrayAdapter<String> adptLubricatorType = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, adapterString);
spn.setAdapter(adptLubricatorType);
spn.setOnItemSelectedListener(listenerspn);
private Spinner.OnItemSelectedListener listenerspn = new Spinner.OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {


    }

スピナーをプルダウンして [その他] を選択したときにテキストを挿入するにはどうすればよいですか?

edittextのように入力できればいいのですが、他のものをクリックすると、「その他」が今入力した文字列に変わります

4

3 に答える 3

1

おそらく警告ダイアログを作成し、それに編集テキストを追加します。

final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
alert.setView(input);
于 2013-07-31T04:19:58.850 に答える
0

常に持っていEditTextますが、その可視性をINVISIBLEXML ファイルに設定します。次に、選択した項目が であることを検出したら"Other"、VISIBILITY を に設定しVISIBLEます。何かのようなもの

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
   //get the item selected item. Compare to the itme for which you want to make the EditText visible
   if( spn.getSelectedItem().toString().equals("Other"){
       yourEditText.setVisibility(View.VISIBLE);
   }

}       

その後、などを使用EditTextして通常どおりに処理できonClickListenerます。コンセプトを理解していただければ幸いです。他にコメントしてください。

于 2013-07-31T04:29:30.530 に答える
0

setVisibility()edittext の可視性を切り替えるために使用します。これが実際のコード スニペットです。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    other = (EditText)findViewById(R.id.other);
    other.setVisibility(View.GONE);
    Spinner spn = (Spinner)findViewById(R.id.spinner1);
    String[] adapterString = new String[]
    {
       "A",
       "B",
       "Other"
    };
    ArrayAdapter<String> adptLubricatorType = new ArrayAdapter<String>(this,
    android.R.layout.simple_spinner_item, adapterString);
    spn.setAdapter(adptLubricatorType);

    Spinner.OnItemSelectedListener listenerspn = new Spinner.OnItemSelectedListener() {

}

レイアウト ファイル:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent>


    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content" />

    <EditText 
        android:id="@+id/other"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"/>


</LinearLayout>
于 2013-07-31T05:20:04.500 に答える