使用 CWAC-touchlist 进行拖放

发布于 2025-01-04 13:53:05 字数 823 浏览 1 评论 0原文

我有两个问题。

1. 如何让应用程序记住我通过拖放创建的 ListView 中的新顺序。就像现在一样,我可以重新订购商品,但每次打开应用程序时,我都必须再次重新订购商品。

2. 我的应用程序应该从每个项目打开不同的网页。但是,当我重新排序项目时,网络链接不会重新排序。他们坚持相同。

例如:我有 Google 和 Yahoo! 项目所以链接是“http://google.com”和“http://yahoo.com”。然后我重新排序项目:Google 位于顶部,但我将 Yahoo 拖到顶部。之后,当我按“雅虎!”时项目它打开谷歌的网站,当我按“谷歌”时,它打开雅虎的网站。

这是我制作 OnItemClickListener 的方法:

getListView().setOnItemClickListener(new OnItemClickListener() {


    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
        String content = links[position];
        Intent showContent = new Intent(getApplicationContext(),
                Web.class);
        showContent.setData(Uri.parse(content));
        startActivity(showContent);
    }

});

I have two questions.

1. How to make app remember new order in ListView what I made with drag and drop. Like now I can reorder items but every time I open app, I have to reorder items again.

2. My app should open different webpage from each item. But when I reorder items then web links doesn't reorder. They stick on same.

Like example: I have items Google and Yahoo! so links are "http://google.com" and "http://yahoo.com". Then I reorder item: Google was top but I drag Yahoo to top. After that when I press "Yahoo!" item it open Google's website and when I press "Google" it opens Yahoo's website.

Here is how I have made OnItemClickListener:

getListView().setOnItemClickListener(new OnItemClickListener() {


    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
        String content = links[position];
        Intent showContent = new Intent(getApplicationContext(),
                Web.class);
        showContent.setData(Uri.parse(content));
        startActivity(showContent);
    }

});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏辞 2025-01-11 13:53:05

如何让应用程序记住我通过拖放创建的 ListView 中的新顺序。就像现在一样,我可以重新订购商品,但每次打开应用程序时,我都必须再次重新订购商品。

将顺序存储在某处(例如,数据库表中的序列列),并在将数据加载回适配器时重新排序数据。

我的应用程序应该从每个项目打开不同的网页。但是,当我重新排序项目时,网络链接不会重新排序。他们坚持相同。

引用文档

在代码中,您可以像常规 ListView 一样设置 TouchListView,只不过您需要通过 TouchListView.DropListener 注册一个 TouchListView.DropListener代码>setDropListener()。在侦听器中,您需要执行一些操作来影响通过拖放操作请求的重新排序。在演示项目中,这是从旧位置删除条目并将其放入新位置的问题。

How to make app remember new order in ListView what I made with drag and drop. Like now I can reorder items but every time I open app, I have to reorder items again.

Store the order somewhere (e.g., sequence column in your database table) and re-order the data when loading it back into your Adapter.

My app should open different webpage from each item. But when I reorder items then web links doesn't reorder. They stick on same.

Quoting the documentation:

In code, you set up a TouchListView just like a regular ListView, except that you need to register a TouchListView.DropListener via setDropListener(). In your listener, you will need to do something to affect the re-ordering requested via the drag-and-drop operation. In the demo project, this is a matter of removing the entry from the old position and putting it in the new position.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文