大佬教程收集整理的这篇文章主要介绍了android – App偏好设置的可编辑项目列表?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在我试图通过嵌套两个PreferenceScreens并在它们之间移动项目来实现:
我将项目存储在两个不同的数组(“添加”项目和“未添加”项目)并使用addPreference()动态构建两个屏幕但是我不确定这是一个好主意,也不知道如何让用户删除和重新订购商品.
如何才能做到这一点?
您需要为每个ArrayAdapter扩展一个ArrayAdapter(或者只有一个ArrayAdapter并将其用于ListView,更改布局或初始数据集,或两者都有).就布局而言,您可以简单地使用LinearLayout定义自定义布局,并在其中定义ImageView和TextView以实现屏幕截图中显示的布局效果,如下所示:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://scheR_902_11845@as.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:BACkground="#000000" android:orientation="horizontal" > <ImageView android:id="@+id/layoutIR_902_11845@age" android:layout_width="0dp" android:layout_height="30dp" android:layout_weight="2" android:BACkground="@drawable/..."/> <TextView android:id="@+id/layoutText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="8" android:layout_gravity="left" android:numLines="1" android:textSize="18sp" /> </LinearLayout>
一旦定义,自定义ArrayAdapter的第二个参数就是布局,所以你只需传递R.id.your_new_layout引用,就会用它创建行.
对于项目的删除,它很容易实现,因为您可以在自定义适配器的getView()方法中定义onClickListener()并从数据集中删除该项目(您将在ArrayAdapter中跟踪). ListView具有notifyDataSetChanged()方法,该方法将自动从列表中删除该项目,您甚至可以添加动画以使其在视觉上更具吸引力.
在这种情况下,重新排序选项似乎是最费力的. ListView默认情况下会以“自己的顺序”呈现行,这意味着基本上你会看到它未排序.这可以避免在ArrayAdapter上调用.sort()方法,但是你不希望这样,因为你想让你的用户按照他们的方式重新排序列表,所以我只想到了2个想法(没有他们测试过):
>尝试使用onDragEvent实现此目的.根据this,您可以处理拖动ListView的一行以处理某些事件.通过这种方式,您可以看到用户放置项目的位置,并重新排序适配器中的List以保持这种状态.
>外部图书馆.似乎有一些外部库已经实现了这一点,例如,您可能希望看到this,this和this.
这种方法的主要好处是,您可以在同一个Activity中拥有两个数据集,您可以在这两个数据集中访问两个适配器,并且您可以轻松地将数据从一个实例移动到另一个实例,并使用View调用setVisibility().您需要的ListView上的VISIBLE或View.GONE,因此它使流程更容易.
以上是大佬教程为你收集整理的android – App偏好设置的可编辑项目列表?全部内容,希望文章能够帮你解决android – App偏好设置的可编辑项目列表?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。