0

Androidでの開発は初めてなので、ご容赦ください。今日の日付の天気データを表示するアクティビティがあり、アクティビティの下部に次の 7 日間の天気データのリストを追加したいと考えています。

ここに画像の説明を入力

ただし、これを達成するための最良の方法は何かについて混乱しています。ListView の使用を考えていましたが、使用方法について混乱しています。収集したものから、ListView レイアウトを作成res/layoutし、メイン アクティビティでフラグメントを使用する必要があります。このフラグメントのレイアウトは、先ほど作成した ListView レイアウトに設定されています。あれは正しいですか?または、より簡単な解決策は、メイン アクティビティの下部に ListView を配置することでしょうか?

または、やりたいことに対して完全に間違ったコントロールを使用していますか?

4

2 に答える 2

0

次の XML を例として考えてみましょう。これ (私のアプリからの実際の XML) では、 のEditText上に小さなListViewがありますが、必要に応じて別のものに変更できます。これが本質的に示しているのは、ListView他のコンテンツと一緒に上部または下部に配置できるということです。(削除した後に Admob コードがありますListView)

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="1"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/phone_thing_comment_bg"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="5dp" >

        <EditText
            android:id="@+id/editFilterList"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:background="@drawable/phone_thing_comment_box"
            android:drawableLeft="@drawable/filter_search_icon"
            android:drawablePadding="5dp"
            android:hint="Type Friends Name"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="#ff333333"
            android:textColorHint="#ff78797d"
            android:textCursorDrawable="@null" >
        </EditText>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/list"
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1"
            android:cacheColorHint="@android:color/transparent"
            android:divider="#000000"
            android:dividerHeight="0dp"
            android:fadingEdge="none"
            android:persistentDrawingCache="scrolling"
            android:scrollbars="none" >
        </ListView>

        <TextView
            android:id="@android:id/empty"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:padding="10dp"
            android:text="@string/no_friends"
            android:textColor="#f1f1f1"
            android:textSize="15sp"
            android:textStyle="bold"
            android:visibility="gone" >
        </TextView>
    </LinearLayout>
</LinearLayout>

この方法を使用する利点ListViewは、が本来のようにスクロールすることですが、Widgets上記の場合は常に静止していることです。この方法を使用することの短所は、画面が小さいデバイスでは、コンテンツを表示するための十分なスペースがなくListView、ユーザーが何度もスクロールする必要がある場合があることです。

Widgetsまたは、上記のを分離し、ListViewそれらを別の XML ファイルに入れて、ListView(Java コード内の) に として追加することもできますHeader。これにより、上のコンテンツがコンテンツListViewとともに移動しListViewます。

したがって、このコードは別の XML に入り、Java コードのヘッダーとして追加されます。

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/phone_thing_comment_bg"
        android:gravity="center"
        android:paddingBottom="5dp"
        android:paddingLeft="9dp"
        android:paddingRight="9dp"
        android:paddingTop="5dp" >

        <EditText
            android:id="@+id/editFilterList"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:background="@drawable/phone_thing_comment_box"
            android:drawableLeft="@drawable/filter_search_icon"
            android:drawablePadding="5dp"
            android:hint="Type Friends Name"
            android:inputType="text"
            android:maxLines="1"
            android:textColor="#ff333333"
            android:textColorHint="#ff78797d"
            android:textCursorDrawable="@null" >
        </EditText>
    </LinearLayout>

長所と短所は、前の例とはほとんど逆です。

Fragmentまたはで使用されているかどうかに関係なく、どちらの方法も機能しActivityます。

于 2013-04-17T07:36:29.767 に答える