在android中使用Button onclick查找数组位置

时间:2013-02-28 07:24:10

标签: android

我的数组

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和名称。这样做?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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;
        }
    }

答案 2 :(得分:0)

您可以使用

在代码中设置按钮的ID
  button.setId(array2[i]);