2010-06-21 46 views
1

我有幾個關於編輯文本的問題..Android,使用Edittext

我試圖在Android上創建一個登錄屏幕。我正在接收用戶名和密碼,然後將結果發送給另一種方法。我剛剛有幾個關於它的問題...

1)如果我有兩個edittext的,用戶在兩個輸入值,然後點擊一個「登錄」按鈕,我希望按鈕採取值輸入到2個edittext框中,轉換並保存爲一個字符串,然後將它們傳遞給一個函數。我不確定如何構建這個按鈕。我遇到的問題是使它成爲一個字符串我目前正在這樣做..

String user = edittext.getText(); 

但這似乎並不奏效。此外,我不確定Android保存Edittext輸入的方式。一旦用戶不再使用,它​​會自動將其保存到字符串中嗎?例如將...

public boolean onKey(View v, int keyCode, KeyEvent event) { 
      String user = edittext.getText(); 

     } 

工作?如果不是,我會如何定義它?

謝謝。

+0

瞭解如何在Android應用程序開發中使用EditText,[here](http://www.androidperitia.com/create-customize-android-edittext/) – 2016-03-09 18:34:48

回答

3

你必須認購該按鈕的onclick事件,然後 簡單得從EditText上

文本你並不需要在EditText上

(Button) findViewById(R.id.btnName)).setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       //called when you press the button 
       String user =((EditText) findViewById(R.id.txtUser)).getText().toString(); 
       String password =((EditText) findViewById(R.id.txtPassword)).getText().toString(); 
       // do the rest of the job 
      } 
     }); 
2

的安其事件中運行代碼本質上,這是你想要做

String userName = ""; 
String password = ""; 
EditText userEdit = (EditText)findViewById(R.id.useredit); 
EditText passEdit = (EditText)findViewById(R.id.passedit); 
Button okButton = (Button)findViewById(R.id.okButton); 
okButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     userName = userEdit.getText().toString(); 
     password = passEdit.getText().toString(); 
     } 
    }); 

而不是使用onKeyDown(...)的要註冊一個什麼樣的點擊收聽您的按鈕,並定義其行爲在那裏。奇怪的是,你必須在.getText()之後放.toString()才能存儲文本。

我還建議製作所有的視圖(字段,按鈕,圖像等)成員變量,以便您的引用是持久的。