[英]How do I capture information from EditText view in a dialog box?
總而言之,我為對話框制作了一個自定義布局,其中有一個EditText,我想從中捕獲輸入的信息。 但是我不確定如何兩者都做:
1)實例化“新” EditText(以防止出現空異常),並且
2)將此新的EditText與其ID在布局中關聯(R.id.edit_name),以便android知道從對話框內的EditText獲取信息
我不確定要在哪四行中使用COMMENTED代碼...
任何幫助表示贊賞,謝謝!
public class MainActivity extends AppCompatActivity {
private Button button;
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_inventory);
}
public void onClickAddItem(View view) {
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_layout);
// final EditText nameInput = new EditText(this);
// nameInput.findViewById(R.id.edit_name);
// EditText nameInput = new EditText(context);
// final EditText nameInput = (EditText)findViewById(R.id.edit_name);
final LinearLayout wholelist = (LinearLayout) findViewById (R.id.wholelist);
button = (Button) findViewById(R.id.Adder);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Button OKbutton = (Button) dialog.findViewById(R.id.OK);
OKbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
wholelist.addView(createNewTextView(nameInput.getText().toString()));
dialog.dismiss();
}
});
dialog.show();
}
});
}
private TextView createNewTextView(String text) {
final TextView textView = new TextView(this);
textView.setText(text);
return textView;
}
}
將您的編輯文本定義為全局變量(功能之外),以便您可以在任何需要的地方使用它。 然后在onCreate
函數中對其進行初始化(引入)。
EditText nameInput; // define your edit text
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_inventory);
nameInput = (EditText) findViewById(R.id.edit_name); // initialize your edit text
.
.
.
nameInput.getText().toString() // get data inside your edit text
每當您需要讀取其中的信息時,只需使用以下命令: nameInput.getText().toString()
即可讀取其中的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.