我在此代码中遇到问题。它正在工作,并给我已经检查过的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();
}
});
答案 0 :(得分:0)
这样可以在您选择项目之前停止按钮被点击,并且只有在选择项目后才允许按钮点击
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();
}
});
编辑: 在评论和您的代码中查看您的回复后,您需要使用
parent.getItemAtPosition(position).getId()
这将允许您获取所选项目。