Android 向TableRow动态添加按钮

Android 向TableRow动态添加按钮,android,android-tablelayout,Android,Android Tablelayout,您好,我想单击一个按钮,该按钮将在每次单击时向表行添加一个新按钮。将3个按钮添加到行后,我希望动态创建一个新表行,并向其中添加一个新按钮 如果单击按钮,我知道如何将带有按钮的行添加到表格布局中。我不知道如何在每次单击时修改表行,以便添加其他按钮 任何建议都会很有帮助,我们将不胜感激 下面是我的代码,但这并不完美 public class DynamicTableView extends Activity { TableLayout mTlayout; String[] mTex

您好,我想单击一个按钮,该按钮将在每次单击时向表行添加一个新按钮。将3个按钮添加到行后,我希望动态创建一个新表行,并向其中添加一个新按钮

如果单击按钮,我知道如何将带有按钮的行添加到表格布局中。我不知道如何在每次单击时修改表行,以便添加其他按钮

任何建议都会很有帮助,我们将不胜感激

下面是我的代码,但这并不完美

public class DynamicTableView extends Activity {

    TableLayout mTlayout;
    String[] mTextofButton = { "Dipak", "E", "I", "J", "L",
            "M", "G", "R", "N", "T", "H", "P",
            "K", "Y", "V" };

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


        TableRow tr=new TableRow(this);
        for(int i=0;i<mTextofButton.length;i++){
            Button btn=new Button(this);
            btn.setText(mTextofButton[i]);
            tr.addView(btn);

        }   
        mTlayout.addView(tr);
    }
}
公共类DynamicTableView扩展活动{
表格布局;
字符串[]MTEXTFBUTTON={“Dipak”、“E”、“I”、“J”、“L”,
“M”、“G”、“R”、“N”、“T”、“H”、“P”,
“K”、“Y”、“V”};
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTlayout=(TableLayout)findviewbyd(R.id.mTlayout);
TableRow tr=新的TableRow(本);

对于(int i=0;i他们将使用
按钮的
onClick()
,说
addNewButton()
,然后执行以下操作:

public void  addNewButton(View b)
{
        for(int i=0; i<mTextofButton.length; i+=3){
                TableRow tr=new TableRow(this);

                Button btnOne=new Button(this);
                btnOne.setText(mTextofButton[i]);
                tr.addView(btnOne);

                Button btnTwo =new Button(this);
                btnTwo.setText(mTextofButton[i+1]);
                tr.addView(btnTwo);

                Button btnThree =new Button(this);
                btnThree.setText(mTextofButton[i+2]);
                tr.addView(btnThree);
                mTlayout.addView(tr);
        }
}
public void addNewButton(视图b)
{

对于(int i=0;i他们将使用
按钮的
onClick()
,说
addNewButton()
,然后执行以下操作:

public void  addNewButton(View b)
{
        for(int i=0; i<mTextofButton.length; i+=3){
                TableRow tr=new TableRow(this);

                Button btnOne=new Button(this);
                btnOne.setText(mTextofButton[i]);
                tr.addView(btnOne);

                Button btnTwo =new Button(this);
                btnTwo.setText(mTextofButton[i+1]);
                tr.addView(btnTwo);

                Button btnThree =new Button(this);
                btnThree.setText(mTextofButton[i+2]);
                tr.addView(btnThree);
                mTlayout.addView(tr);
        }
}
public void addNewButton(视图b)
{
对于(inti=0;i
inti=0;
而(i
inti=0;
而(i使用以下代码:-

public class DynamicButtonsActivity extends Activity {

    TableLayout mTlayout;
    TableRow tr;
    String[] mTextofButton = { "D", "E", "I", "J", "L", "M", "G", "R", "N",
            "T", "H", "P", "K", "Y", "V" };

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

        int i = 0;
        while (i < mTextofButton.length) {
            if (i % 3 == 0) {
                tr = new TableRow(this);
                mTlayout.addView(tr);
            }
            Button btn = new Button(this);
            btn.setText(mTextofButton[i]);
            btn.setId(i);
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    System.out.println("v.getid is:- " + v.getId());
                }
            });
            tr.addView(btn);
            i++;
        }
    }
}
公共类DynamicButtonsActivity扩展活动{
表格布局;
TableRow tr;
字符串[]MTEXTFBUTTON={“D”、“E”、“I”、“J”、“L”、“M”、“G”、“R”、“N”,
“T”、“H”、“P”、“K”、“Y”、“V”};
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTlayout=(TableLayout)findviewbyd(R.id.mTlayout);
int i=0;
而(i
使用以下代码:-

public class DynamicButtonsActivity extends Activity {

    TableLayout mTlayout;
    TableRow tr;
    String[] mTextofButton = { "D", "E", "I", "J", "L", "M", "G", "R", "N",
            "T", "H", "P", "K", "Y", "V" };

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

        int i = 0;
        while (i < mTextofButton.length) {
            if (i % 3 == 0) {
                tr = new TableRow(this);
                mTlayout.addView(tr);
            }
            Button btn = new Button(this);
            btn.setText(mTextofButton[i]);
            btn.setId(i);
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    System.out.println("v.getid is:- " + v.getId());
                }
            });
            tr.addView(btn);
            i++;
        }
    }
}
公共类DynamicButtonsActivity扩展活动{
表格布局;
TableRow tr;
字符串[]MTEXTFBUTTON={“D”、“E”、“I”、“J”、“L”、“M”、“G”、“R”、“N”,
“T”、“H”、“P”、“K”、“Y”、“V”};
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTlayout=(TableLayout)findviewbyd(R.id.mTlayout);
int i=0;
而(i
你的问题是什么?看起来你的代码应该可以工作。我的代码是可以工作的,但是按钮是动态添加的&请参阅上面对我的问题的描述。如何在一行中只添加3个按钮,然后创建下一个tablerow。看起来你在简单的代码流中遇到了问题…你的问题是什么?看起来你的代码应该可以工作。我的代码是可以工作的,但是按钮n是动态添加的&请参见上面对我的问题的描述。如何在一行中仅添加3个按钮,然后创建下一个tablerow。看起来您在简单的代码流中遇到了问题…我在一行中添加3个按钮,然后创建下一个tablerow,但我的问题是“如何做到?”您的代码正在运行,但如何为动态按钮创建侦听器。look for.setOnClickListener(…)@biovamp:为什么删除您的答案。这是一个很好的答案。您知道吗,我打算删除这个。我在一行中添加3个按钮,然后创建下一个表行,但我的问题是“如何执行?”你的代码正在运行,但是如何为动态按钮创建侦听器。查找.setOnClickListener(…)@biovamp:为什么要删除你的答案。这是一个很好的答案..你知道吗,我打算删除这个。