gpt4 book ai didi

java - 使 ListView 可滚动

转载 作者:行者123 更新时间:2023-12-01 14:29:55 24 4
gpt4 key购买 nike

我有两个 xml 文件。其中之一包含 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>

最佳答案

我认为如果您使用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 的视觉顶部将位于父 View 的顶部,视觉底部将位于父 View 的底部,并且只要列表出现,您的内容就会出现并滚动到需要的位置。

关于java - 使 ListView 可滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16930753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com