0

2 つの xml ファイルがあります。そのうちの 1 つは、ListView と、listView にデータを入力する人を含みます。アイテムを表示できましたが、スクロールできません。たとえば、表示するアイテムのリストがありますが、自動的にスクロールが有効になりません。スクロールできるようにするには、コードのどの部分を強化する必要がありますか。listView はデフォルトでスクロールを有効にしていることを知っています。これで私を助けてください。前もって感謝します。

    public class ActivityViewCategory extends ListActivity {

                @Override
                public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_view_products);

                // Hashmap for ListView
                productsList = new ArrayList<HashMap<String, String>>();
                // Get listview
                ListView lv = getListView();
                            .
                            .
                            .
     protected void onPostExecute(String file_url) {
                // dismiss the dialog after getting all products
                pDialog.dismiss();
                // updating UI from Background Thread
                runOnUiThread(new Runnable() {
                    public void run() {
                        /**
                         * Updating parsed JSON data into ListView
                         ArrayList<HashMap<String, String>> com.example.restotrial.ActivityViewCategory.productsList * */

                        ListAdapter adapter = new SimpleAdapter(
                                ActivityViewCategory.this, productsList,
                                R.layout.list_item, new String[] { TAG_PID,
                                        TAG_NAME},
                                new int[] { R.id.pid, R.id.name });
                        // updating listview
                        setListAdapter(adapter);
                    }
                });
            }
        }

activity_view_products.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <!-- Main ListView 
         Always give id value as list(@android:id/list)
    -->

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="456dp" >
    </ListView>


</LinearLayout>

list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >


    <!-- Product id (pid) - will be HIDDEN - used to pass to other activity -->
    <TextView
        android:id="@+id/pid"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:visibility="gone" />


    <!-- Name Label -->
    <TextView
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="6dip"
        android:paddingLeft="6dip"
        android:textSize="17dip"
        android:textStyle="bold" />


</LinearLayout>
4

1 に答える 1

1

RelativeLayout の制約を使用してListView.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
    <!-- Main ListView
         Always give id value as list(@android:id/list)
    -->

    <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_height="wrap_content" >
    </ListView>


</RelativeLayout>

あなたの視覚的な上部はListView親ビューの上部になり、視覚的な下部は親ビューの下部になり、コンテンツはリストがたまたまある限り長くなり、必要な場所にスクロールします。

于 2013-06-05T04:44:55.650 に答える