问题标签 [android-listfragment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 异步填充 ArrayList 以显示在列表视图中
当用户单击一个按钮时,会显示一个新的 ListFragment。该片段将包含专辑列表及其关联的艺术家姓名。
我创建了自己的类AlbumItem (String name, String artist)
,name
其中包含专辑的标题和artist
相应的艺术家姓名:
然后我编写了我的自定义适配器,它将专辑名称和艺术家名称与我的 ListView 行中的正确 TextView 相关联。
那么我可以声明一个 AlbumItem 的 ArrayList 并像这样填充它:
现在我有几个问题:
1)我走的路合适吗?我一直在学习填充这样的列表视图,并且我很喜欢使用这种技术(自定义项目类 + ArrayList + CustomAdapter),但我正在做一个音乐播放器,我想查询专辑列表并更新异步列表视图,以便 UI 不会被阻塞。我不知道是否可以按照我的方式将数据加载到 ArrayList 中。
2) 如何异步填充这个 ArrayList ?使用 LoaderManager/CursorLoader 或 Asyntask 或其他什么?(我的目标是 Android 4.0)
谢谢你的建议。
android - 使用 LoaderManager 和 CursorLoader 在列表视图中显示专辑和艺术家
我有一个ListFragment
谁的列表应该显示设备的专辑和使用的相关艺术家MediaStore
。因此,每行有两个TextViews
. 我正在使用LoaderManager
并CursorLoader
使用自定义 CursorAdapter 来填充列表,以便将TextViews
行的绑定到数据。
列表片段代码:
AlbumsAdapter(自定义 CursorAdapter)代码:
目前,当我显示这个 ListFragment 时,我有一个 java.lang.NullPointerException,这里是 logCat:
您能否帮我更正我的代码,以便将专辑和相关艺术家显示在列表视图中?
问题解决了 :
对于任何尝试使用 LoaderManager/CursorLoader 技术填充自定义列表视图的人来说,您应该:
1)创建您自己的自定义 CursorAdapter,它将您的行的 TextViews 绑定到光标的数据(请参阅我上面的自定义 CursorAdapter)
2)然后,在您的片段中,这是要做什么:
就是这样!我不知道为什么没有人购买过这样一个关于如何使用 LoaderManager、CursorLoader 和自定义适配器来填充自定义列表视图的非常简单的示例。无论如何,我希望这对将来像我这样的初学者有所帮助。
android - Android 使用可见的 ListFragment 项填充 ArrayList
我在 ViewPager 中使用 ListFragment。每次用户翻到新页面时,有没有办法用可见的 ListFragment 的列表项填充 ArrayList?
android - 在 Android 中使用 ListFragment 解析 XML
我目前正在开发一个 android 项目,它连接到服务并获取 xml 并在 asynctask 中对其进行解析,然后将其显示在 ListView 中。我正在使用标准的 ListActivity,它工作得非常好,但我想使用 ListFragment,我无法从 API 示例中判断在活动或片段中进行 xml 解析是否更好。如果我在活动中进行解析,我将如何将数组列表传递给我的片段以显示它?
任何帮助或教程将不胜感激。
谢谢!
android - getLoaderManager().initLoader() 不接受“this”作为参数,尽管类 (ListFragment) 实现了 LoaderManager.LoaderCallbacks
我无法按照在 Android 中使用 SQLite的指南进行操作。我使用的是 aListFragment
而不是 a ListActivity
(如示例中所示),所以我使用的是ListFragment
工具LoaderManager.LoaderCallbacks<Cursor>
。然后,在fillData()
方法中ListFragment
:
我得到错误:
在标记线上,即使this
执行LoaderManager.LoaderCallbacks<Cursor>
。
谢谢你的任何想法。
android - Android ListFragment 列表视图在方向更改时重叠
我正在使用 ListFragment 并从 Android 兼容性包中实现 LoaderManager.LoaderCallbacks 以在应用程序中显示列表视图。列表显示正常,但是当方向改变时,列表视图不正确(我认为视图与前一个重叠)
图片在这里:列表视图在方向改变后
有没有人遇到过同样的问题?您能否让我知道可能是什么问题,或者是否需要提供更多详细信息。
android - 试图显示 ListFragment
我正在尝试显示一个 ListFragment。我想我已经正确设置了一切,但无论我尝试什么,我都会得到一个 RuntimeException:无法启动 Activity。我已经搜索和调试了几天,还没有想出答案。这是我到目前为止的代码。任何帮助将不胜感激。
下面是启动 Activity 的方法:
这是上一个方法启动的Activity:
这是tip_list_fragment_activity.xml:
这是提示列表片段:
最后是 list_fragment.xml:
这是堆栈跟踪:
07-01 00:41:37.932: E/AndroidRuntime(6083): 致命异常: main 07-01 00:41:37.932: E/AndroidRuntime(6083): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. app.tipcalculator/com.app.tipcalculator.TipListActivity}:android.view.InflateException:二进制 XML 文件第 7 行:膨胀类片段时出错
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.ActivityThread.access$600(ActivityThread.java:123)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.os.Handler.dispatchMessage(Handler.java:99)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.os.Looper.loop(Looper.java:137) 07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android. app.ActivityThread.main(ActivityThread.java:4424)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 java.lang.reflect.Method.invokeNative(Native Method)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 java.lang.reflect.Method.invoke(Method.java:511)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-01 00:41:37.932: E/AndroidRuntime(6083): at dalvik.system.NativeStart.main(Native Method)
07-01 00:41:37.932:E/AndroidRuntime(6083):原因:android.view.InflateException:二进制 XML 文件第 7 行:膨胀类片段时出错
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:489)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:396)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:352)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.Activity.setContentView(Activity.java:1835)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 com.app.tipcalculator.TipListActivity.onCreate(TipListActivity.java:28)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.Activity.performCreate(Activity.java:4465)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 11 更多 07-01 00:41:37.932: E/AndroidRuntime(6083): 由: android.support.v4.app.Fragment$ InstantiationException:无法实例化片段。TipListFragment:确保类名存在,是公共的,并且有一个公共的空构造函数
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.support.v4.app.Fragment.instantiate(Fragment.java:391)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.support.v4.app.Fragment.instantiate(Fragment.java:359)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:262)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 21 更多 07-01 00:41:37.932: E/AndroidRuntime(6083): 由: java.lang.ClassNotFoundException: .TipListFragment
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:501)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:461)
07-01 00:41:37.932: E/AndroidRuntime(6083): 在 android.support.v4.app.Fragment.instantiate(Fragment.java:381)
07-01 00:41:37.932: E/AndroidRuntime(6083): ... 24 更多
android - ListFragment 中的自定义 ArrayAdapter
我正在尝试创建一个自定义ArrayAdapter
以用于我的ListFragment
. 现在ListFragment
除了TextView
说它是什么片段编号外,什么都没有显示。我在getView()
我的适配器的方法中放置了一个断点,它没有被调用。我搜索了不会被调用的原因,有些人似乎认为我的 ListView 是隐藏的,所以我尝试将 更改layout_height
为wrap_content
,但这没有用。
另外,我一直在关注这个开发者页面的代码:http: //developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html
列表片段:
阵列适配器:
fragment_pager_list.xml:
我之前已经制作了自定义 ArrayAdapters 没有问题,那么让它们与 ListFragment 一起工作我是否缺少一些东西?
android - Android ListFragment 重复条目
我有这个应用程序,我在其中实现了 ActionBar Fragment 接口。在界面之下,有一个 ListFragment ,每次我切换到不同的选项卡时,列表中的条目都会重复。有人可以告诉我使用自定义适配器实现 listfragment 的正确方法吗?
以下是我的代码:FeaturedFragment.java
精选列表适配器:
[编辑] 以下代码根据@10s 的建议修改。但是,结果还是一样。。
android - ListFragment 激活项背景
我有一个默认布局的 ListFragment,我使用 setItemChecked 检查项目。在 Honeycomb 和 ICS 上,选中的行会在我使用simple_list_item_activated_1
布局时自动应用背景颜色。如何在预 HoneyComb 设备上实现相同的效果?在旧平台上既不可用,state_activated
也不可用。activatedBackgroundIndicator