当前位置: 首页 > 知识库问答 >
问题:

在Android中使用复选框获取列表视图中的行位置

秦俊友
2023-03-14

我正在编写一个android应用程序,我有麻烦得到行的位置在ListViewCheckBox

我已经用复选框创建了列表视图。但我不知道如何为每个选中的条目找到行的位置。一旦我得到了选中的位置,我想执行一个删除选中的操作。

请帮帮忙!

这是我的代码:

public class ListTest extends ListActivity implements OnCheckedChangeListener {
    @Override 
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        //--- Importing StringsArray---     
        Bundle gotBasketScanner = getIntent().getExtras();
        String[] StringArrayHistory = gotBasketScanner.getStringArray("fromHistory");

        // ---Make Adapter---
        setListAdapter( new ArrayAdapter<String>(ListTest.this,
                    android.R.layout.simple_list_item_multiple_choice,
                    StringArrayHistory));

        // ---Put Array into a ListView and add Checkboxes to Listview
        ListView list = getListView();
        list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    }
}

共有3个答案

乐正翰
2023-03-14

您可以将PrefrenceScreen与CheckBoxPreference结合使用,以实现更简单、可扩展的实现

支才
2023-03-14

使用onItemClick()in代替onCheckedChangeListener...

getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
                            long id) {
         Toast.makeText(getApplicationContext(), "Item "+position+" is clicked",
                              Toast.LENGTH_SHORT).show();
    }
}

这是获取点击位置和id的更好方法。

我希望这能解决你的问题。

编辑

我更新了以下内容:-

getListView()。setOnItemClickListener(新的AdapterView.OnItemClickListener(){

现在试试你的代码。

华乐逸
2023-03-14

嘿看看这个它会帮你...

http://windrealm.org/tutorials/android/listview-with-checkboxes-without-listactivity.php

Android ListView带有复选框和所有可点击项

http://appfulcrum.com/2010/09/12/listview-example-3-simple-multiple-selection-checkboxes/

 类似资料:
  • 我知道有许多解决方案可以解决这个问题,但我并不是解决这个问题的正确方法,当一个复选框被选中时,我会为它分配一个ID,并将其添加到一个数组中,但当向下滚动时,该复选框被取消选中,但ID存储在数组中,如果它被选中,我希望它保持选中状态。 我的适配器类是。

  • 问题内容: 在这个项目中,我无法在控制台输出中获取是否选择了Checkbox数据。 我的代码: 它给我的输出像 但是它并不能告诉天气复选框是否处于选中状态: 我需要这样的输出: 要么 问题答案: 在以下情况下尝试此操作: 请注意 ,仅当播放器受伤时才会显示输出,否则将为空白: 选定的行:Gareth Bale(受伤) 选定的行:Gareth Bale 替换为: 选择的行:Gareth Bale t

  • 我的ListView自定义适配器(及其新实现的viewHolder)有一些问题。我有一个列表视图,每个项目都有一个复选框(这里没有新内容)。问题是,如果我的列表中有超过9个项目,当我选中第一个复选框时,第十个将自动选中(第二个与第十一个相同),就像两个项目都有一个监听器一样(我认为在某种程度上是这样)。 我在这里读到了listView、视图回收和ViewHolder解决它的方法的位置问题:如何使我

  • 在这里,我有一个表单,其中有复选框的用户列表。我需要获得布尔值以及各个复选框的用户ID,以知道每个用户的布尔值是真的还是假的,以便在数据库中按每个用户插入值。例如: 假设我们有三个id为1,2,3的用户,那么我需要相应用户的复选框选中值,如1,0,1。因此,如果选中或没有为用户插入布尔值。 请帮助我,我不知道如何获得多个复选框的输入数据,我正在使用spring boot,spring data j

  • 问题内容: 有什么方法可以在React中使用ref来获取复选框的值。正常方式对我来说总是返回值“ on”。 问题答案: 对于复选框,使用“ checked”而不是“ value”: 结果是:

  • 所以我有这样的代码: 我只需要Javascript来获取当前选中的任何复选框的值。 编辑:要添加,只有一个复选框。