【发布时间】:2017-03-04 00:27:07
【问题描述】:
我刚开始学习 android 应用程序开发以及 java,我有点困惑如何让它工作。我在 UI 中使用以下表格布局创建了用户输入字段:
public void inputRow( TableLayout tl, String label, int inputSize, int inputID )
{
TableRow inputRow = new TableRow(this);
TextView tv = new TextView(this);
EditText edit = new EditText(this);
// some margin
inputRow.setPadding( 20,10,20,0);
tv.setText(label);
edit.setMaxWidth( inputSize*7) ;
edit.setMinimumWidth(inputSize*7);
edit.setId( inputID );
edit.setGravity(Gravity.RIGHT);
inputRow.addView(tv);
inputRow.addView(edit);
tl.addView(inputRow);
}
然后我用以下内容填写了 inputRows:
inputRow( myTableLayout, "Name", 30, 10000);
inputRow( myTableLayout, "Last Name", 20, 10001);
inputRow( myTableLayout, "Age", 3, 10002);
inputRow( myTableLayout, "Street Address", 20, 10003);
inputRow( myTableLayout, "State", 15, 10004);
创建按钮
Button btAccept = new Button(this);
btAccept.setText( "Save");
btAccept.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
alertDialog.show();
}
});
还有警报对话:
final AlertDialog alertDialog;
alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Save");
alertDialog.setMessage("Saved..");
我如何让它显示用户单击按钮后提交的实际信息,而不仅仅是在警报对话框中显示“已保存..”?虽然我为每个输入行设置了 id,但我不确定如何实际检索它们。将所有输入放在一个数组中然后显示对我来说最有意义吗?
编辑 我一直在网上搜索可能的解决方案,并认为我可能需要查看 myTableLayout 中的每个 TableRow。
TableRow row1 = (TableRow)myTableLayout.getChildAt(0);
TextView tv1 = (TextView) row1.getChildAt(0);
String input = tv1.getText().toString();
我想也许我可以访问表中的第一行来检索 textview 输出。但是它仍然不起作用。我真的以为我可以使用我为每个 editText 设置的 id 访问每一行,但我没有尝试任何工作。
【问题讨论】:
标签: java android android-edittext