簡體   English   中英

如何在對話框的EditText視圖中捕獲信息?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM