【问题标题】:How to Get the Next and previous list items from a listview in android如何从android中的列表视图中获取下一个和上一个列表项
【发布时间】:2011-12-28 11:37:34
【问题描述】:

我有一个列表视图,其中包含一些类似于 twitter 推文的列表项。当我单击特定列表项时,它会显示该特定列表项的详细信息。

在该活动中,包含两个按钮,用于显示“下一个”列表项详细信息和“上一个”列表项详细信息。

问题:如何使用视图翻转器在特定活动上显示“上一个”列表项(通过单击上一个按钮)和“下一个”列表项(通过单击下一个按钮)。如何获取列表项从主要活动到此活动的详细信息?

【问题讨论】:

  • 你有没有尝试过?如果您尝试过,则必须在遇到问题的地方发布您的代码。
  • 我只是从第一个活动中将每个项目的 ID 保存在一个数组中并尝试访问它。但我不知道这是否正确。
  • 这样,我得到了价值......但是我们可以使用viewflipper来实现吗?
  • 之后获取第二个活动显示其内容的列表项的id。将此id存储为计数器变量。现在通过单击下一步按钮增加计数器并在第二个中加载相应的内容活动并通过单击前。按钮减少计数器并加载相应的数据。
  • 您可以使用 Intent 将内容从一个活动获取到另一个活动。从here获取参考

标签: android listview


【解决方案1】:
   **Next :**
   int position,last;
   position=listView.getCheckedItemPosition();
   position=position + 1;
   listView.getItemAtPosition(position);
   last=listView.getLastVisiblePosition()
  if(position==last)
     {
       System.out.println("Next is Impossilble");
     }

  **Previous:**
   int position;
   position=listView.getCheckedItemPosition();
   position=position - 1;
   listView.getItemAtPosition(position);
   last=listView.getLastVisiblePosition()
  if(position==1)
     {
       System.out.println("previous is Impossilble");

【讨论】:

  • 但是在第二个活动中,我怎样才能获得第一个列表视图的 id(来自第一个活动)。
  • @user1119204 在第一个活动包中 bundle=new Bundle(); bundle.putString("wt",position); Intent intent=new Intent(arg1.getContext(),secondActivity.class);意图.putExtras(捆绑); startActivityForResult(intent,0);在第二个活动 Bundle bundle=this.getIntent().getExtras();字符串数组=bundle.getString("wt"); strs.setText(array);
  • 我使用了另一种方法,例如在自定义适配器类中声明一个静态数组列表,并从 json 中保存所有 id,在第二个活动中,我将数组列表称为“posts.get(position).id,其中位置是使用bundle从第一个活动传递。像这样我得到了价值。一旦我得到帖子ID,我就使用意图调用第二个活动并通过bundle传递该帖子ID。还有其他更好的方法吗?
  • os 传递数据数组的另一种方法是使用 bundle array Bundle bundle=new Bundle(); bundle.putStringArray("wt", new String[]{str, strs,addr,phone}); Intent intent=new Intent(arg1.getContext(),searchlistitemActivity.class);意图.putExtras(捆绑);在第二个活动中: strs.setText(array[0]); str.setText(数组[1]); addr.setText(数组[2]); dialers.setText(array[3]);
【解决方案2】:

无论您使用什么适配器,您都需要从数组或数组列表中获取数据。 适配器在创建时需要数组或数据列表。您可以存储此数组或列表以供进一步访问

尝试以下步骤

  • 当您选择任何特定项目时,您将获得 物品。将此位置存储为计数器变量。
  • 根据您在某些视图中显示某些数据的位置。
  • 当你点击下一步按钮时增加计数器
  • 类似地,当您单击上一个按钮时会减少计数器
  • 使用此计数器值从数组或列表中获取数据 在列表视图中使用

【讨论】:

  • 但问题是列表项是使用 webservice 调用的。所以不能增加计数器。
猜你喜欢
  • 2013-02-28
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
相关资源
最近更新 更多