我在Android / Eclipse中的应用有问题。
我的应用有一个列表,其中包含一个使用Firebird结果集创建的复选框。
我需要在选中一个复选框时设置启用/假,但我不知道如何制作此功能。
我该怎么做?
答案 0 :(得分:0)
我们可以通过结合setEnabled和setChecked方法知道其属性来禁用检查,如下所示
private CheckBox termsAndConditions;
termsAndConditions= (CheckBox) findViewById(R.id.checkBox1);
termsAndConditions.setEnabled(false); // disable checkbox
termsAndConditions.setChecked(true);
答案 1 :(得分:0)
你的意思是说你想要选中复选框列表之外的复选框,并且列表中的所有复选框都应该被禁用吗?如果未选中主复选框,则启用所有复选框?
要检查Android的XML布局文件中的复选框,您可以执行以下操作:
<CheckBox
android:id="@+id/my_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"/>
此外,您可以参考此复选框并以编程方式执行此操作:
CheckBox checkBox = (CheckBox)getActivity().findViewById(R.id.my_checkbox);
checkBox.setChecked(true); //Check the check box
checkBox.setEnabled(false); //Disable the check box
答案 2 :(得分:0)
如果他们在列表视图中,您可以获得它们:
listView.getChildCount()
因此,您可以使用listView.getChildAt(wantedChild);
Antoher的方法是保存您从ResultSet创建的CheckBox对象列表,然后在此之后运行。
答案 3 :(得分:0)
很简单。您应该在setChoiceMode
上使用CHOICE_MODE_SINGLE
参数调用ListView
方法。请参阅下面的示例。
public class MyChecklist extends ListActivity {
private static final String[] items={"one", "two", "three", "four", "five", "six"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, items));
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
}
<强>布局/ main.xml中强>
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:choiceMode="multipleChoice" />