在这个程序中,我有一个TextView
它说:“输入LineData的数量:”。 在这个下面我有一个EditText
它允许单独的数字。 下面我有一个Button
其功能是显示EditText的值。 要从EditText
获得整数值,我使用了Try/Catch
块内的变量“i”。 我知道这个变量“i”在该块之外被销毁。 但我想用这个变量在TableLayout
中创建TableRow
。 我试图在Try块内做到这一点,但我得到了错误。 我该如何解决这个问题?如何访问块外的变量?
public class Ybus_Activity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ybus);
final LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
final LinearLayout main = (LinearLayout) findViewById(R.id.android_main_layout);
TextView getData = new TextView(this);
getData.setText("Enter the number of LineData : ");
getData.setId(5);
getData.setLayoutParams(params);
main.addView(getData);
final EditText edText = new EditText(this);
edText.setId(3);
edText.setLayoutParams(params);
edText.setWidth(100);
edText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
edText.setInputType(InputType.TYPE_CLASS_NUMBER);
edText.setKeyListener(DigitsKeyListener.getInstance());
edText.setMaxLines(1);
main.addView(edText);
Button bt = new Button(this);
bt.setText("Click to enter Linedata");
bt.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
main.addView(bt);
final TextView text = new TextView(this);
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String ed = edText.getText().toString();
int i = 0;
try {
i = Integer.parseInt(ed);
text.setText(i + "");
} catch (NumberFormatException ex) {
text.setText("Value at TextView is not a valid integer");
}
}
});
main.addView(text);
}
}
声明'INT I;''之前onCreate'。 – Raghunandan
@Raghunandan:它不工作...我需要更新的值...但我没有收到它 – gkn06
它会。它会在点击按钮时初始化。发布更新的代码 – Raghunandan