【问题标题】:create checkbox based on string array size根据字符串数组大小创建复选框
【发布时间】:2014-08-31 18:14:01
【问题描述】:

我刚开始学习安卓应用程序开发。我正在查看复选框并探索动态创建它的各种可能性等等。 现在,出于好奇,我有点怀疑。 题 : 假设我在一个字符串数组中有 10 个项目,每个项目都有自己的名称。现在,我只需要知道.. 我可以为这 10 个项目手动实现复选框。但我的问题是,假设我列出了 100 个项目,每个项目都有唯一的名称。我想在读取字符串数组中的项目数时动态创建复选框,并将每个复选框的文本设置为我的相应读取项目字符串数组。

例如:假设我有 4 个名字。苹果、谷歌、微软、Linux。 现在在我的活动中,我想动态设置 4 个复选框,并将每个复选框的文本设置为这四个值。对此问题的通用解决方案(即为任意数量的项目扩展代码)将不胜感激。

对此的任何帮助都非常感谢。感谢那些天才开发者,我也很高兴成为这个论坛的一员。这个论坛和那些了不起的开发者一起教会了我很多东西。

【问题讨论】:

    标签: android arrays string checkbox


    【解决方案1】:

    活动:

    public class CheckboxActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.act_checkbox);
    
            String[] array = new String[]{"Apple", "Google"};
            ViewGroup checkboxContainer = (ViewGroup) findViewById(R.id.checkbox_container);
    
            for (int i = 0; i < array.length; i++) {
                CheckBox checkBox = new CheckBox(this);
                checkBox.setText(array[i]);
                checkboxContainer.addView(checkBox);
            }
        }
    }
    

    布局:

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:id="@+id/checkbox_container"
                  android:orientation="vertical"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent">
    
    </LinearLayout>
    

    【讨论】:

    • @Fox in socks: 好人!但我有一个小小的疑问。我们在上面的代码中在哪里声明了布局? R.layout.act_checkbox... 这是否意味着我们将线性布局保存为 act_checkbox ?无论如何,非常感谢兄弟。感谢您的帮助 :) 会尝试一下,让您知道它是否有效。还有一件事......如果我在数组中有 100 个项目,我是否能够滚动复选框列表?请帮我解决这个问题..
    • @Sreekanth:兄弟。我对 C 和 C++ 有一些基础知识。所以想到实现一个 for 循环,就像 Fox in socks 在代码中给出的那样。但我也想让该列表可滚动。所以有一些疑问,并想在这里咨询你们的开发人员,希望你们能帮助我。
    • @Krish3090 您需要将布局文件保存在res/layout 目录中。要获得可滚动的项目,您需要使用 ListViewScrollView。请阅读文档,因为这是非常琐碎的问题。
    • @Foxinsocks :我可以使用您在 ListView 中提供的代码 sn-p 吗?或者我应该创建一个线性布局并附加一个垂直滚动视图以使其工作?从您的角度来看,哪个选项更好?
    • @Krish3090 在您的情况下,最好的选择是ListView。和ArrayAdapter 实现。样品可以在这里找到:vogella.com/tutorials/AndroidListView/article.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2015-07-13
    • 1970-01-01
    • 2015-08-03
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多