0

私は同様の辞書知識テスターであるプロジェクトに取り組んでいます。コードを介して言語名をスピナーに追加したいのですが、問題があり、夢中になります。

「1」以下のパーツを使用する場合は問題ありませんが、「2」のパーツを使用するとエラーになります。同時に「1」を使用するとフルスクリーンのように見えますが、サイズを小さく変更する方法が見つかりませんでした。

私を助けてください、前もって感謝します。

1)Spinner spin = new Spinner(this); spin.setAdapter(dataAdapter); setContentView(spin);

2)Spinner spin2 = (Spinner) findViewById(R.id.spinner1); spin2.setAdapter(dataAdapter); setContentView(spin2);

4

2 に答える 2

1

1で使用している方法では、スピナーのビューを唯一のビューに設定しています。

必要なのは、XML ファイルでビューを定義し、それをコンテンツ ビューとして設定することです。

例: main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Spinner
    android:id="@+id/spinner2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

次に、.java ファイルで

    /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    //setting up the adapters
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
    ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);

    //adding things to the adapters
    dataAdapter.add("English");
    dataAdapter2.add("Spanish");

    //setting the spinners up from their id in the XML file
    Spinner spinner1 = (Spinner)findViewById(R.id.spinner1);
    Spinner spinner2 = (Spinner)findViewById(R.id.spinner2);

    //setting the spinners adapters
    spinner1.setAdapter(dataAdapter);
    spinner2.setAdapter(dataAdapter2);      

}

質問を間違って解釈した場合は、より詳細に返信してください。

于 2012-07-02T16:40:35.160 に答える
0

私は問題を解決しました。問題は、相対レイアウトと線形レイアウトを同時に追加したため、プログラムがスピナーに正しくアクセスできなかったことです。今、私は線形レイアウトを削除し、相対レイアウトのみを追加して画面をデザインしています。今のところ問題ありません。このトピックに興味を持って回答してくださった皆様、ありがとうございました。

于 2012-07-03T22:40:47.967 に答える