【问题标题】:ANDROID: How can I set up buttons in a for loop?ANDROID:如何在 for 循环中设置按钮?
【发布时间】:2013-09-23 03:24:21
【问题描述】:

有人知道如何在 for 循环中为字母表(对于刽子手应用程序)创建按钮吗?
我不确定在 java 类中需要做什么以及在xml 文件。

【问题讨论】:

  • 你有没有试过答案?

标签: android button for-loop alphabet


【解决方案1】:

给你。但您还必须注意,您的布局必须是线性的,并且必须根据您希望按钮的排列方式设置方向。

如果您使用相对视图,按钮将相互堆叠,这是您最后一个循环显示的按钮。

LinearLayout layout = (LinearLayout) findViewById(R.id.rl_table_of_contents);

        LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

        Button[] btn = new Button[your_array];
        for (int i = 0; i < your_array.length(); i++) {
            btn[i] = new Button(getApplicationContext());
            btn[i].setText("Button "+ i);
            //btn[i].setBackground();
            btn[i].setTextSize(20);
            //btn[i].setHeight(100);
            btn[i].setLayoutParams(param);
            btn[i].setPadding(15, 20, 15, 20);
            layout.addView(btn[i]);

            //btn[i].setOnClickListener(handleOnClick(btn[i]));

        }

View.OnClickListener handleOnClick(final Button button) {
    return new View.OnClickListener() {
        public void onClick(View v) {
        }
    };
}

【讨论】:

    【解决方案2】:
    int count=26;
        Button[] btnArray = new Button[26];
    
        LinearLayout layout=new LinearLayout(this);
        LinearLayout.LayoutParams params=new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    
        for(int i=0;i<count;i++){
            btnArray[i]=new Button(this);
            layout.addView(btnArray[i],params);
    
        }
    

    【讨论】:

      【解决方案3】:

      您无需在XML 文件中执行任何操作。这一切都可以在课堂上完成。

      for(int i=0; i < x; i++) // where x is the size of the list containing your alphabet.
      {
         Button button = new Button(this);
         button.setId(i);
         yourView.add(button);
      }
      

      【讨论】:

      • 但是这些代码除了创建按钮之外,她什么也没做。这一切都很好,但我怎样才能让它们可见?
      【解决方案4】:
      for(int i=0; i<n; i++)
      {
         Button b = new Button(this);
         b.setId(i);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-18
        • 2019-01-23
        • 1970-01-01
        • 2021-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多