簡體   English   中英

從Android EditText字段返回用戶輸入

[英]Return user input from Android EditText field

我是Android開發人員的新手。 和一般的編程。 我有一個用Java作為終端應用程序編寫的基於文本的RPG,並且我試圖將其重新創建為Android應用程序。 但是,我一開始就陷入困境。

如何從EditText視圖返回用戶輸入並將該值存儲在String中?

以下是我為弄清問題而做的一次性項目:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String a = "Hello from";
    String b = "the other";
    String c = "SIDE!";
    String d = "What you don't like Adele?";

    final String userIn;

    final EditText editText = (EditText) findViewById(R.id.editText);
    TextView textView = (TextView) findViewById(R.id.viewText);

    editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
            if (actionId == EditorInfo.IME_ACTION_SEND) {
                sendMessage();
                handled = true;
            }
            return handled;
        }

        private void sendMessage() {
            userIn = editText.getText().toString();
        }
    });

}

我不能更改userIn的值,因為它必須是最終函數才能起作用。 我確定我缺少明顯的東西,但是任何幫助都是偉大的!

在onCreate()之外聲明用戶,並將對其進行更改。 檢查一下:

public class MainActivity extends AppCompatActivity {
String userIn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String a = "Hello from";
    String b = "the other";
    String c = "SIDE!";
    String d = "What you don't like Adele?";



    final EditText editText = (EditText) findViewById(R.id.editText);
    TextView textView = (TextView) findViewById(R.id.viewText);

    editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
            if (actionId == EditorInfo.IME_ACTION_SEND) {
                sendMessage();
                handled = true;
            }
            return handled;
        }

        private void sendMessage() {
            userIn = editText.getText().toString();
        }
    });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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