Мне нужна твоя помощь.Я действительно новичок в Android, разрабатываю в Eclipse с последним 2.1 SDK.
Это действительно просто.Я делаю ListView, который заполнен виджетами Checkbox.
Мой код:
public class HelloAndroid extends Activity {
static final String[] COUNTRIES = new String[] {
"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
"Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
"Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
"Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium"};
protected ListView myList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myList = (ListView)findViewById(R.id.myList);
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.myBox, COUNTRIES);
myList.setAdapter(myAdapter);
}
}
И это XML-файл Layout (row.xml), состоящий из одного флажка:
<?xml version="1.0" encoding="utf-8"?>
<CheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"/>
Теперь, если в массиве COUNTRIES
достаточно строк и вы можете прокрутить список, вы увидите, что если вы проверите один CheckBox и прокрутите вниз, другой CheckBox будет проверен автоматически.И если вы установите еще несколько флажков, другие будут отмечены автоматически, или те, которые были отмечены, не проверены.
Я также пробовал android:focusable="false"
для CheckBox (в XML), а также android:focusableInTouchMode
, как описано в некоторых аналогичных темах, но, кажется, ничто не помогает ...
Похоже, это ошибка ??