我想限制在我的列表視圖選定的複選框只有3個選定的項目,我想禁用任何點擊另一個列表,如果選定的框已經是3.如何做到這一點?如何限制ListView中選中的複選框?
我一直試圖解決它基於非常類似的問題的答案。但它仍然沒有工作。所有的代碼將變成錯誤
無法解析方法「setOnItemSelectedListener」。
這裏是我的代碼second.java我迄今爲止所做的類。以這種方式
package com.example.imah.uid;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.ListView;
import android.widget.Toast;
public class second extends AppCompatActivity {
ListView listview ;
String[] pStyle = new String[] {
"Fashion",
"HDR",
"Hi Speed",
"Landscape",
"Portrait",
"Street",
"Wedding"
};
SparseBooleanArray sparseBooleanArray ;
private int numberOfCheckboxesChecked;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
listview = (ListView)findViewById(R.id.listView2);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(second.this,
android.R.layout.simple_list_item_multiple_choice,
android.R.id.text1, pStyle);
listview.setAdapter(adapter);
listview.setOnItemSelectedListener(new onItemSelectedListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked && numberOfCheckboxesChecked >= 4) {
checkbox1.setChecked(false);
} else {
if (isChecked) {
numberOfCheckboxesChecked++;
} else {
numberOfCheckboxesChecked--;
}
}
}
});
}
}
謝謝你,但仍然有錯誤就這一行listview.setOnItemClickListener的原因((adapterView,view,pos,id) - > { –
@ImahAmmran我已經更新了,現在應該可以工作了,我已經添加了一些代碼,因爲您需要手動更改已選中狀態 – Eselfar
android studio無法解析adapterView,view,pos,id。我可以知道如何聲明這些變量嗎? –