-1

私はListViewいくつかを持っていCheckBoxesます。の各行をクリックすると、のテキストListViewを に保存したいと思います。CheckBoxString

ListViewユーザーがそれ自体をクリックできるように、行をフォーカス不可に設定しましたCheckBoxCheckBoxユーザー自身がチェックを付けたり外したりすることはできませんが、代わりに、ユーザーがそれをクリックすると、データを入力する必要がある別のアクティビティにつながります。ブール値を返すことで、ユーザーがデータを入力しているかどうかを確認しています。

値が true の場合、チェックボックスをオンに設定する必要があります。そのためには、CheckBox実際にチェックする前に、のテキストを別の文字列値と比較する必要があります。

つまり、それぞれのチェック状態は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() ;

ありがとう。

4

2 に答える 2