2012-03-27 45 views
0

非常に長いテキストでスピナーを作成すると、通常は選択したテキストとトライアングルイメージ(&#x25bc ;)、三角形の画像は表示されません。 通常(android.R.layout.simple_spinner_item)レイアウトと複数行レイアウトでテストしました。 しかしどちらもしなかった。スピナーメニューには非常に長いテキストが表示されますが、トライアングルイメージは表示されません

スピナーボタンの右側がウィンドウの外側です。 (私は新しいユーザーであるため、画像を添付できません)

ソースは次のとおりです。

SpinnerTestActivity.java

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 

public class SpinnerTestActivity extends Activity { 
String[] mStrings = {"verrrrrrrrrry looooooooooooooong", 
     "abc loooooooooooooooooooooooooong", 
     "xyz" 
}; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Spinner spinner = (Spinner)findViewById(R.id.spinner1); 
//  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mStrings); 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.multiline_spinner_item, mStrings); 
      spinner.setAdapter(adapter); 
    } 
} 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/TableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="1" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 

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

    </TableRow> 
</TableLayout> 

multiline_spinner_item.xml

<?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="false" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" /> 

答えて

0

は、あなたのAndroid Spinnerコントローラでandroid:prompt属性を定義していますか?

お手伝いします。あなたは以下のリンクを参照することができます

<Spinner 
    android:id="@+id/spinner" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:prompt="@string/planet_prompt" 
/> 

次のコードを参照してくださいCan an Android AsyncTask doInBackground be synchronized to serialize the task execution?

+0

私の下手な英語原因と誤解した後

spinner.getLayoutParams().width = spinner.getWidth(); 

を追加します。そこで私は質問を修正しました。私の質問は、スピナーのドロップメニューではなく、スピナーボタンについてです。 – Nishimu

1

は私の質問にご所見をいただき、ありがとうございます。

答えが見つかりました。

spinner.setAdapter(adapter); 
関連する問題