1

我的阵列

String array1[] = menuname.toArray(new String[menuname.size()]);
array2 = menuid.toArray(new String[menuid.size()]);

我的动态按钮编码

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.l);
        List<Button> list = new ArrayList<Button>();
        for (int i = 1; i < array1.length; i++) {
            LinearLayout l = new LinearLayout(this);
            l.setOrientation(LinearLayout.HORIZONTAL);


            button.setText(String.valueOf(i));
            button.setText(" " + array1[i]);
            button.setId(i);
            button.setWidth(180);
            button.setHeight(60);

            button.setTextColor(Color.BLUE);
            button.setTypeface(Typeface.SERIF, Typeface.BOLD);
            l.addView(button);
            linearLayout.addView(l);// if you want you can layout params
                                    // linearlayout
            list.add(button);

        }

array1[]包含button...的名称并array2[]包含按钮的 id ....我想为动态按钮设置 id 和名称..如何做到这一点?

4

3 回答 3

0

也许使用button.setText(array2[i] + " " + array1[i]);?是你想要的其他东西吗?

于 2013-02-28T07:35:54.153 回答
0

你可以id在运行时设置你的按钮并设置onClickListener它,当你点击按钮时你会得到它id

if(nameArray.length()==idArray.length())
    {
    LinearLayout linearLayout = (LinearLayout) findViewById(R.id.menuLayout);
    List<Button> buttonList = new ArrayList<Button>();
    for (int i = 1; i < nameArray.length; i++) {

        btnMenu.setText(String.valueOf(i));
        btnMenu.setText(" " + nameArray[i]);
        btnMenu.setId(idArray[i]);
        btnMenu.setWidth(180);
        btnMenu.setHeight(60);

        btnMenu.setTextColor(Color.BLUE);
        btnMenu.setTypeface(Typeface.SERIF, Typeface.BOLD);

        btnMenu.setOnClickListener(this);

        linearLayout.addView(btnMenu);
        list.add(button);
    }
 }


    public void onClick(View view) {
        super.onClick(view);
        switch (view.getId()) {
        case idArray[0]:
            // button with id "idArray[0]" is clicked
            break;
        }
    }
于 2013-02-28T07:43:31.113 回答
0

您可以使用在代码中为按钮设置 id

  button.setId(array2[i]);
于 2013-02-28T07:55:57.717 回答