【问题标题】:Button to start new Activity (Fragment?) from ListView从 ListView 启动新活动(片段?)的按钮
【发布时间】:2014-09-07 16:31:27
【问题描述】:

我正在努力寻找开始新活动的方法。 我使用本教程/示例作为数据库的基础: http://androidopentutorials.com/android-sqlite-example/ 并希望为列表视图中的每个项目添加一个按钮,以便按此按钮以获取每个员工的更详细信息。我可以向数据库添加更多数据列,但找不到启动新活动并传递员工 ID 的方法。 (我可以获得职位(列表视图中的行),但这并不总是与 ID 匹配,因为能够删除记录。

您建议如何实现此按钮/活动?

【问题讨论】:

  • 请至少发布适配器代码,以便我们知道您在哪里挣扎

标签: android sqlite listview android-fragments


【解决方案1】:

将按钮添加到 list_item 然后将 onclick 侦听器设置为适配器内的按钮

<Button  android:id="@+id/button1"/>

内部适配器:

     holder.go= (Button) convertView.findViewById(R.id.button1);


     holder.go.setOnClickListener(new OnClickListener() {   

        @Override
        public void onClick(View v) {
            //start next activity here

        }
    });

【讨论】:

  • 这会(希望)对按钮做出反应,但我需要传递一些数据(员工的 ID 代码。而不是行位置)。
  • 员工 emp=(Employee)employees.get(Position);将为您提供该特定行的整个对象,然后使用意图将数据发送到下一个活动
  • 虽然我不想要 listView 中的整个数据集,但您认为将其全部传递,然后只使用我需要的部分(ID,然后从SQLite 数据库)会工作/可以接受吗?
  • 你为什么不像 emp.getId() 一样传递员工 ID 并将其放在意图上并将其发送到下一个活动
  • 我认为使用“持有人”会有所不同。我还没有将数据传递给新的活动,但是我的测试吐司有正确的数字。我已经尝试了几天,所以我对我有什么和没有尝试过的东西有点困惑,并且为什么它不起作用...我现在将构建新的 Activity 并看看会发生什么...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多