【问题标题】:make checkboxes instead of already checked list制作复选框而不是已选中的列表
【发布时间】:2018-05-18 08:01:55
【问题描述】:

我在这段代码中有问题。它正在工作并给我已经检查过的 IP 地址。我想放置可以从一个或多个 IP 地址中选择的复选框。看下面代码下的图片:输入图片描述

btnScan = (Button)findViewById(R.id.scan);
listViewIp = (ListView)findViewById(R.id.listviewip);


ipList = new ArrayList();
adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_checked, android.R.id.text1, ipList);
listViewIp.setAdapter(adapter);

btnScan.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        new ScanIpTask().execute();
    }
});

【问题讨论】:

  • 您是说您希望能够在列表中选择多个项目并 onClick() 执行一项任务吗?
  • @ThabisoMotswagole 我没有能力检查扫描按钮后显示的 IP 地址已选中。我希望出现复选框,而不是这个已经检查,请参阅代码下的图像
  • i dont have the ability to check any thing ??你的意思是“取消选中任何东西”?
  • 我认为您正在自己构建列表视图/回收视图。那你为什么要像现在这样呢?

标签: android performance android-layout listview


【解决方案1】:

这将在您选择项目之前阻止按钮可点击,并且只允许在选择项目后点击按钮

btnScan = (Button) findViewById(R.id.scan);
listViewIp = (ListView) findViewById(R.id.listviewip);

btnScan.setEnabled(false);

ipList = new ArrayList();
adapter = new ArrayAdapter < String > (this,
  android.R.layout.simple_list_item_checked, android.R.id.text1, ipList);
listViewIp.setAdapter(adapter);

listViewIp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  @Override
  public void onItemSelected(AdapterView << ? > adapterView, View view, int position, long l) {
    btnScan.setEnabled(true);
    CheckBox yourCB = findViewById(R.id.yourCB);
    yourCB.setClickable(false);
  }
  @Override
  public void onNothingSelected(AdapterView << ? > adapterView) {

  }
});

btnScan.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    new ScanIpTask().execute();
  }
});

编辑: 在查看您在 cmets 中的回复和您的代码后,您需要使用

parent.getItemAtPosition(position).getId()

这将允许您获取所选项目。

【讨论】:

  • 对不起,我是新开发者,这是一个大学项目,请告诉我为什么adapterView是红色的?
  • @SAAB 它不时会这样做...将光标放在带红色下划线的类上并按住“ctrl”和“space”...然后实现方法
  • 我把这段代码放在哪里? parent.getItemAtPosition(position).getId()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
相关资源
最近更新 更多