Articles of listadapter

ListView中的ViewPager和OnItemClickListener

我正在创build一个滑动到解散列表视图适配器。 我的基本方法是将列表项的视图作为ViewPager中的第二个视图进行封装,并在ViewPager的项目更改侦听器中提供必要的callback。 通过很多痛苦,我已经使View回收站按预期工作,以及实现了ViewHolder和ViewBinder模式。 我甚至设法让ListView在ViewPager滚动的时候接pipe触摸事件,而不必制作一个ListView的自定义子类(我可以从Adapter中完成)。 我遇到麻烦的地方是让select器和OnItemClickListener工作。 在查看ListView的源代码之后,似乎通过覆盖ViewPager的hasFocusable()方法总是返回false(稍后我将从子视图中提取这个值),应该重新启用这些东西。 不幸的是,这种情况并非如此。 我已经尝试setDecendantFocusability()解决方法,我仍然坚持。 如果可能的话,我想避免扩展ListView,以提供最大的模块性。 由于类似的原因,我不想将select器添加到ViewPager的背景(如果开发人员更改ListView的select器,这将不会被反映)。 基本上,我正在寻求让ViewPager代码在ListView和子View之间透明。 有任何想法吗?

系统服务不可用于onCreate之前的活动?

我无法弄清楚如何解决这个错误。 我对Android和Java非常绿色,所以代码会随着解释而变得非常有帮助。 有任何想法吗? 谢谢。 LogCat: FATAL EXCEPTION: main ERROR/AndroidRuntime(13527): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.AC.List_AC}: java.lang.IllegalStateException: System services not available to Activities before onCreate() ERROR/AndroidRuntime(13527): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) ERROR/AndroidRuntime(13527): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) ERROR/AndroidRuntime(13527): at android.app.ActivityThread.access$2300(ActivityThread.java:125) ERROR/AndroidRuntime(13527): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) ERROR/AndroidRuntime(13527): at android.os.Handler.dispatchMessage(Handler.java:99) ERROR/AndroidRuntime(13527): at android.os.Looper.loop(Looper.java:123) ERROR/AndroidRuntime(13527): at android.app.ActivityThread.main(ActivityThread.java:4627) ERROR/AndroidRuntime(13527): at java.lang.reflect.Method.invokeNative(Native Method) ERROR/AndroidRuntime(13527): at java.lang.reflect.Method.invoke(Method.java:521) ERROR/AndroidRuntime(13527): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) […]

如何更新Android中的SimpleAdapter

是否有可能更新SimpleAdapter? 我有一个数据列表和一个页脚,说:“看下一个结果”当这个列表项被点击我捕捉事件,并获得新的数据。 然后我想用这个新的数据replaceListView中的数据,但我不知道如何做到这一点。 有任何想法吗? 我不想使用ArrayAdapter,因为据我所见,项目只能容纳一个string,我需要它来保存多个string和整数。

在Android上的ListView中突出显示选定的项目

我一直在做一个应用程序与Android中的ListViews一起工作,我不能这样做,以便所选(追踪)的项目有不同的背景。 我正在使用CHOICE_MODE_SINGLE。 这是我的代码看起来如此之远: 我使用的ListView: (在layout.xml中 ) <ListView android:id="@+id/listView" android:layout_width="wrap_content" android:layout_height="match_parent" android:choiceMode="singleChoice" android:listSelector="@drawable/selector_test" > </ListView> 我在适配器中使用的TextView布局: ( listItem.xml ) <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listItem" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="23sp" android:textStyle="bold" /> 这是我添加适配器的地方: mListAdapter = new ArrayAdapter<String>(this, R.layout.listItem, mList); mListView = (ListView) findViewById(R.id.listView); mListView.setAdapter(mAuthorAdapter); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { String selected […]

Android:ViewHolder模式和不同types的行?

ViewHolder模式改进了ListView滚动框架,如下例所示: https : //developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html 对不同的行使用不同types的视图时是否可以保持这种模式? 换句话说,是否可以这样做: public View getView(int position, View view, ViewGroup parent) { // calculate viewID here if (view == null || *view is not null but was created from different XML than viewID* ) { view = mInflater.inflate(viewId, null);

自定义视图缺less工具用于适配器的构造函数

我得到以下警告: 自定义视图com / example / view / adapter / SomeAdapter缺less工具所使用的构造函数:(Context)或(Context,AttributeSet)或(Context,AttributeSet,int) 在我的类SomeAdapter中扩展了一些扩展了ArrayAdapter的BaseAdapter public class SomeAdapter extends BaseAdapter{} public abstract class BaseAdapter extends ArrayAdapter<SomeModel>{} 该警告存在于具体适配器中,但不在抽象BaseAdapter中。 有没有人听说过这方面的警告? AFAIK Android通过ViewConstructorDetector检查超类的名称来检查类是否扩展视图: private static boolean isViewClass(ClassContext context, ClassNode node) { String superName = node.superName; while (superName != null) { if (superName.equals("android/view/View") //$NON-NLS-1$ || superName.equals("android/view/ViewGroup") //$NON-NLS-1$ || superName.startsWith("android/widget/") //$NON-NLS-1$ && !((superName.endsWith("Adapter") //$NON-NLS-1$ […]

如何asynchronous填充列表视图?

我想知道我应该如何实现一个ListAdapter加载其视图asynchronous到一个ListView ? 我想这样做是因为我用来自我的数据库的信息来填充列表,这使得我的活动时间有点慢。

如何控制与Android MVP模式的ListView

我目前正在开发一个使用MVP模式的Android应用程序。 当我尝试开发一个Activity时,我应该使用一个ListView。 所以我使用适配器的ListView。 但是我听说Adapter与MVP Pattern的Presenter类似。 我想如果Apdater对Presenter很熟悉,那么我应该让Presenter更新ListView而不是Adapter。 当这种情况下,如何开发ListView? 只要使用适配器,并继续使用MVP模式? 感谢您的阅读。

有一个超级简单的List / ListAdapter例子在那里为Android

我有一个Web服务,返回一个超级简单的对象列表 MyObject [] data = webServiceCall(); MyObject有1个字段,我想显示"Name" (即data[0].Name ) 我怎样才能把这个变成一个活动,只列出这些对象在Android上的可滚动listActivity的名称。 我真的很困惑与游标,我不知道如果我需要游标,我不知道什么样的适配器来实现( BaseAdapter , SimpleAdapter等) 所以我想我正在寻找三件事情, 活动,适配器和layout.xml 试图找出这个android的东西了,绝对是一个noob在这里

Android无尽的列表内存pipe理

通过在onScrollStateChanged(…)方法中加载更多的项目到arraylist,我正在实现无尽的listview。 如果我实现这个scheme获取超过100万个条目,我将有一百万个对象添加到数组列表,这是内存密集型的。 我可以使用哪些scheme进行有效的内存pipe理? PS:问题是关于可以放入适配器的项目数量。 编辑: 更多细节: 数据的来源是互联网。 我必须从互联网获取数据,并将其放入列表视图适配器。