【问题标题】:Bulid URL from checkbox values (array) Android从复选框值(数组)构建 URL Android
【发布时间】:2011-07-22 01:49:48
【问题描述】:

我的主视图有 4 个复选框和一个提交按钮。我正在尝试从复选框上选择的值构建一个 url。下面是我的页面的基础,我不确定如何对复选框值的集合进行编程并提交给我的函数,该函数使用 url 查询中的复选框值进行 http 调用。

任何帮助都会很棒。

package com.flash_tattoo;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import com.flash_tattoo.DataCall;

public class flash_tattoo extends Activity {

    private Button get_images;

    private CheckBox cb1, cb2, cb3, cb4;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        get_images = (Button)findViewById(R.id.get_images);

            CheckBox[] setOfCheckBoxes = new CheckBox[]
           {
         (CheckBox) findViewById(R.id.checkBox1);
         (CheckBox) findViewById(R.id.checkBox2);        
         (CheckBox) findViewById(R.id.checkBox3);
         (CheckBox) findViewById(R.id.checkBox4);
          };
       for(int i = 0; i < setOfCheckBoxes.length; i++){
       setOfCheckBoxes[i].setOnCheckedChangeListener(BasicCheckListener);
       }


        get_images.setOnClickListener(new OnClickListener() {         
            @Override
            public void onClick(View v){
**//HERE IS WHERE I WANT TO GET THE VALUES OF THE CHECKBOX BUILD AN ARRAY AND THEN PASS THE ARRAY TO MY FUNCTION.**
                String Image_data = DataCall.getJSON();

                  } 
        });

    }

}

【问题讨论】:

    标签: java android http checkbox


    【解决方案1】:
    if(cb1.isChecked())
    {
    
      String url = cb1.getText(); //i assumed you have |x| Text <--- checkbox form
    }else if (cb2.isChecked())
    {
        String url = cb2.getText();
    }
    ...and so on...
    

    但为什么不为每个复选框实现setOnCheckedChangeListener()方法,只要检查任何复选框,就可以通过只做一个测试if(checkbox.isChecked()) checkbox.getText(),而不是做ifs

    的复选框

    【讨论】:

    • 我为什么不这样做:因为这仅在我的第二个应用程序中,我仍然是菜鸟。大声笑,但我真的很喜欢这个主意。用户将能够选择多个复选框,所以我是否只需构建一个数组并在每次选中一个时继续添加它?感谢您的反馈。
    • 我把我所有的复选框放在一个数组中并循环添加一个 setOnCheckedChangeListenerr。但不知道从那里去哪里。
    • 不要将它们放入数组中。这是很多不必要的内存分配。你可以照我说的去做。而且不要忘记,有时每个人都会掌握他们感兴趣的东西。我也经历过这个。您可以使用数组来存储来自 chkbxes 的文本 为 EACH 一个接一个地实现 sOCCListener()。没有数组,什么都没有,检查 chkbx 时可能不会调用 override 方法。
    • 你可以使用数组来存储来自 chkboxes 的文本,当然
    猜你喜欢
    • 2017-09-08
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多