0

レイアウト中に問題に直面してSpinnerいます。私の実際の要件はSpinner、レイアウトの上部に一度配置することです。

私が得ているこの出力:

ここに画像の説明を入力

私は相対レイアウトを持っています

   <Spinner
       android:id="@+id/spinner1"
        android:layout_width="fill_parent"
   android:layout_height="wrap_content" 
   android:entries="@array/string_array"
       android:prompt="@string/spinner_msg"
     />
     <TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/notesTextView" 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content" 
   android:textColor="@android:color/white"
   android:minHeight="?android:attr/listPreferredItemHeight"
   android:gravity="center_vertical"
   android:textAppearance="?android:attr/textAppearanceMedium"
</TextView>`

MyActivityListActivityクラスはhereのonCreate方法で拡張されます

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

     listView=getListView();
     listView.setOnItemClickListener(listener);
     spinner1=(Spinner)findViewById(R.id.spinner1);
     getDetailsCursor();
    String[] from = new String[] {"db_column"};
    int[] to = new int[] { R.id.notesTextView};
            curAdapter=new SimpleCursorAdapter(MyActivity.this, R.layout.mylist, null, from, to);
            setListAdapter(curAdapter);
        registerForContextMenu(listView);
    }`
4

2 に答える 2

0

あなたの実際の質問が何であるかを理解するのが少し難しいです.いくつかのlayout.xmlコードもここで役立ちます. スピナーを main.xml ではなく listitem.xml 内に配置しているため、リストビューの各アイテムに対して複製されると思います。いくつかのコードを共有してください。mylist.xml で TextView と Spinner の両方を宣言するため、List の各 Item でこれらの要素を両方とも取得します。スピナーが 1 つだけ必要な場合は、ListActivity を使用しないでください。代わりに、レイアウトでスピナーと ListView を使用して通常のアクティビティを作成します。次に、リスト アイテムに使用する別のレイアウトを定義します (たとえば、TextView のみを使用)。

于 2013-02-21T12:59:55.403 に答える
0

listview の上部でスピナーが膨張するコードは次のとおりです。

listView= (ListView) findViewById(R.id.list);

        LayoutInflater inflater = LayoutInflater.from(this);
        View mTop = inflater.inflate(R.layout.spin, null);
        authorityView.addHeaderView(mTop);

R.layout.spin は、スピナーのみを含むレイアウトです。リスト内では、textView のみを膨張させる必要があります。mylist.xml で行っているように、そこからスピナーを削除し、スピナー用に別の xml を作成します。

そのため、スピナーは一度、レイアウト (ListView) の上部にあります。

于 2013-02-21T14:23:57.147 に答える