我有一個ListView
與一些CheckBoxes
。當我點擊ListView
的每一行時,我想將CheckBox
的文本保存在String
中。複選框文本不被檢索
我將ListView
行設置爲不可聚焦,以便用戶可以單擊CheckBox
本身。 CheckBox
不能被用戶自己選中或取消選中,而是當用戶點擊它時,他會導致另一個他需要輸入數據的活動。我正在通過返回一個布爾值來檢查用戶是否正在輸入數據。
如果該值爲true,則需要將該複選框設置爲選中狀態。爲了做到這一點,我需要在實際檢查之前將CheckBox
的文本與另一個字符串值進行比較。
換句話說,每個CheckBox
的檢查狀態由用戶是否在前一個活動中輸入數據確定。
什麼我不能做的是從被點擊獲取複選框文字/感動/選擇CheckBox
爲什麼下面的代碼片段不工作?運行此代碼後clickedError
爲空。
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v.findViewById(R.id.chkSelected);
clickedError = cb.getText().toString() ;
和
@Override
public void onClick(final View v)
{
CheckBox cb = (CheckBox) v;
clickedError = cb.getText().toString() ;
}
已經嘗試過
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
......
holder.chk.setOnClickListener(new MyClickListener(holder.chk));
......
}
private class MyClickListener implements OnClickListener
{
CheckBox checkbox = null;
public MyClickListener(CheckBox cb)
{
checkbox = cb;
}
@Override
public void onClick(final View v)
{
// CheckBox cb = new CheckBox(mContext);
// cb = (CheckBox) v;
// clickedError = cb.getText().toString() ;
CheckBox cb = (CheckBox) v.findViewById(R.id.chkSelected);
clickedError = cb.getText().toString() ;
感謝。
http://stackoverflow.com/questions/18162931/android-get-selected-item-using-checkbox-in-listview-when-i-click-a-button/18164177#18164177。不知道我是否明確瞭解您的要求 – Raghunandan
不是很清楚 - 您想要返回哪些文本?列表視圖項目數據或複選框狀態? – Slartibartfast
確認您在onClick中獲得哪種類型的「視圖」(最終視圖v)。它是你期望的CheckBox嗎? – binaryKarmic