如何通过按钮和另一种方法调用方法

时间:2013-11-17 13:09:18

标签: java android methods

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    inserFromFile();
}

public void addrow(View v){
    TableRow row = new TableRow(this);
    EditText et1 = new EditText(this);
    mLayout.addView(row);
    row.addView(et1);
}

public void insertFromFile(){
    addrow();
}

如果单击按钮,则执行addRow方法,但是当通过insertFromFile方法调用时,该方法不起作用。

如何更改它,以便可以通过button和insertFromFile方法调用addRow。

提前完成

2 个答案:

答案 0 :(得分:1)

public void addrow(View v){ // see it takes view as param.
    TableRow row = new TableRow(this);
    EditText et1 = new EditText(this);
    mLayout.addView(row);
    row.addView(et1);
}

方法签名与addrow()不同,不会将视图视为参数。

addrow(View v)addrow()不同。

单击按钮时会调用

addrow(View V),并且您可能在xml中有android:onClick="addRow"

http://developer.android.com/reference/android/view/View.html#attr_android:onClick

public void addrow(View v){
   createRow();
}


public void createRow()
{
 TableRow row = new TableRow(this);
 EditText et1 = new EditText(this);
 mLayout.addView(row);
 row.addView(et1);
}

和onCreate

setContentView(R.layout.activity_main);
createRow(); 

答案 1 :(得分:0)

The addRow method execute if I click on the button, but doesn't work when its called through the insertFromFile method.

未调用井addrow方法,因为您没有使用预期参数调用该方法。事实上,你的代码一定不能编译。

再添加一个方法或更改现有方法

public void addrow(){}