0

以下のような3つのチェックボックスがあります

Facebook CheckBox1 GooglePlus CheckBox2 Twitter CheckBox3

私は以下のコードを試しました:

if (facebookChackbox.isChecked()) 
    {
        facebook_checkbox = true;

        AppUtil.facebookNetworkList_EditPost ="Facebook";
        list.add("facebook");
        Intent i = new Intent();
        i.putExtra("facebook_boolean", true);
        Log.e("facebook checkbox", "facebook checkbox" + facebook_checkbox);
    }
    else
    {
        AppUtil.facebookNetworkList_EditPost ="";
    }
    if (twitterChackbox.isChecked()) 
    {
        twitter_checkbox = true;
        AppUtil.twitterNetworkList_EditPost ="Twitter";
        list.add("twitter");
        Intent i = new Intent();
        i.putExtra("twitter_boolean", true);
        Log.e("twitter  checkbox", "twitter  checkbox" + twitter_checkbox);

    }
    else
    {
        AppUtil.twitterNetworkList_EditPost ="";
    }
    if (googleChackbox.isChecked()) 
    {
        AppUtil.gpNetworkList_EditPost ="Google Plus";
        googleplus_checkbox = true;
        list.add("gplus");
        Intent i = new Intent();
        i.putExtra("google_plus_boolean", true);
        Log.e("google plus checkbox", "google plus checkbox" + googleplus_checkbox);

    }
    else
    {
        AppUtil.gpNetworkList_EditPost ="";
    }

    AppUtil.SocialNetworkingList_EditPost = AppUtil.facebookNetworkList_EditPost+""+AppUtil.twitterNetworkList_EditPost+""+AppUtil.gpNetworkList_EditPost;

これらすべての静的文字列を APPUTIL クラスで宣言しました。

すべてのチェック ボックス、または 1 つまたは 2 つのチェック ボックスをオンにすると、チェック ボックスのチェックに応じて null、null、null が表示されます。

チェックボックスが選択されているチェックボックスの値が必要です。

private void processCheckboxes() {
    // TODO Auto-generated method stub

    list = new ArrayList<String>();
    sb = new StringBuilder();

    if (facebookChackbox.isChecked()) 
    {
        facebook_checkbox = true;

        AppUtil.facebookNetworkList_EditPost ="Facebook";
        list.add("facebook");
        Intent i = new Intent();
        i.putExtra("facebook_boolean", true);
        Log.e("facebook checkbox", "facebook checkbox" + facebook_checkbox);
    }
    else
    {
        AppUtil.facebookNetworkList_EditPost ="";
    }
    if (twitterChackbox.isChecked()) 
    {
        twitter_checkbox = true;
        AppUtil.twitterNetworkList_EditPost ="Twitter";
        list.add("twitter");
        Intent i = new Intent();
        i.putExtra("twitter_boolean", true);
        Log.e("twitter  checkbox", "twitter  checkbox" + twitter_checkbox);

    }
    else
    {
        AppUtil.twitterNetworkList_EditPost ="";
    }
    if (googleChackbox.isChecked()) 
    {
        AppUtil.gpNetworkList_EditPost ="Google Plus";
        googleplus_checkbox = true;
        list.add("gplus");
        Intent i = new Intent();
        i.putExtra("google_plus_boolean", true);
        Log.e("google plus checkbox", "google plus checkbox" + googleplus_checkbox);

    }
    else
    {
        AppUtil.gpNetworkList_EditPost ="";
    }

    AppUtil.SocialNetworkingList_EditPost = AppUtil.facebookNetworkList_EditPost+""+AppUtil.twitterNetworkList_EditPost+""+AppUtil.gpNetworkList_EditPost;


    for (int zz = 0; zz < list.size(); zz++) {

        network = list.get(zz);

        if (zz < list.size() - 1) 
        {

            Log.i("list.size()",""+list.size());
            Log.i("list.size() - 1",""+list.size());
            Log.i("network",""+network);

            sb.append(network + "," + network + "," + network);

            Log.i("sb",""+sb);
        } 
        else
        {
            Log.e("log", "List----" + zz + network);
            network_list = network;

            network_list = network + "," + network + "," + network;
            // network_list=network+""+network+"&gplus="+network+"&twitter"+
            // "" +network;

            sb.append(network + "," + network + "," + network);
        }
    }
}

上記は私が今呼び出しているメソッドです。チェックした値を文字列に保存し、それをテキストの設定に使用したいのですが、facebookfacebookfacebook を取得しています。文字列の繰り返しが起こっていることを意味します。

4

1 に答える 1

0
yourcheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {             

                if (isChecked) {
                    //do something when checkbox is checked
                }
                else {          
                    //do something when checkbox is unchecked
                }
            }});

これらを使用して組み込みのチェックボックス変更リスナーがあり、すべてのチェックボックスの変更を簡単に通知できます

コード内の 3 つのチェックボックスすべてに対して checkedchangelistener を作成します。

于 2013-02-01T04:56:18.707 に答える