gpt4 book ai didi

android - PullToRefreshListView 和 getItemAtPosition

转载 作者:行者123 更新时间:2023-11-29 21:29:18 25 4
gpt4 key购买 nike

我正在尝试使用 PullToRefreshListView 而不是我的标准 ListView,但是作为初学者,它对我不起作用,listView 使用适配器并将 xml 项目文件膨胀到 ListView 中,

当我替换我的 ListView 时

 </com.handmark.pulltorefresh.library.PullToRefreshListView>

ListView 变空,没有加载任何项目

  • onItemClickListener()

当我将 ListView 从 ListView 替换为 PullToRefreshListView 时,我没有获得 getItemAtPosition 选项,

如果我无法获得位置,我该如何添加 onItemClickListener()?

  • list_fragment.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/CarsList"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

    </LinearLayout>
    • 我的 Activity.xml 扩展了 Activity

公共(public)类 MainActivity 扩展 Activity 实现 AsyncCallBack {

PullToRefreshListView           myList;
CustomList cl;

....

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myList = (PullToRefreshListView) findViewById(R.id.CarsList);
...

那是代码的一部分……getApiJsonArray 是一个在 onPostExecute() 上执行的监听器

@Override
public JSONArray getApiJsonArray(JSONArray results) {
if (dialog != null) {
dialog.dismiss();
}
ArrayList<CarsItems> carsItems;
try {
carsItems = getCarsList(results);
cl = new CustomList(this, carsItems);
myList.setAdapter(cl);
myList.setOnItemClickListener(new OnItemClickListener() {

最佳答案

问题出在维度上,fill_parent 是问题所在,我检查了一下,它起作用了

默认情况下,当您将 pulltorefresh 代码复制并粘贴到您的项目中时,您会得到:

<com.markupartist.android.widget.PullToRefreshListView
android:id="@+id/android:list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>

我犹豫要不要问 stackoverflow 上的人,因为我对导入它和更新支持版本感到沮丧......等

但是,当您将代码直接复制到您的项目中时,您会得到一个空白列表或根本没有列表

只需将高度和宽度更改为其他值,如 match_parent,这对于像我这样的初学者来说应该是一个直接的答案。

如果您在列表中找不到 setOnItemClickListener() 方法的 getItemAtPosition() 时遇到问题,请尝试在该方法(setOnItemClickListener())中调用它

像那样

@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Object item = a.getItemAtPosition(position);
..

希望这对像我这样的初学者有所帮助! :)

关于android - PullToRefreshListView 和 getItemAtPosition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19840197/

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