2010-08-15 65 views
0

我想編寫一個函數,當「edittext」框(id/password)中沒有任何東西 時,這個東西就存在,但它不起作用。如何檢測「edittext」框在Android中是否沒有任何內容?

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.content.Intent; 
import android.widget.EditText; 
import android.widget.Toast; 
import android.view.View.OnClickListener; 
import android.text.Editable; 

public class Test extends Activity 
{ 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Button button1 = (Button) findViewById(R.id.button1); 
    EditText id = (EditText) findViewById(R.id.id); 
    EditText pwd = (EditText) findViewById(R.id.pwd); 
    Editable Str_id; 
    Editable Str_pwd; 
    Str_id = id.getText(); 
    Str_pwd = pwd.getText(); 



    button1.setOnClickListener(new Button.OnClickListener() 
    { 

     public void onClick(View v){ 
     if(Str_id==null || Str_pwd == null){ 
     Toast.makeText(Test.this, "Please Enter User ID/Password", Toast.LENGTH_LONG).show(); 

    } 
    }); 
    } 



    } 

回答

0

移動內部的onClick以下行和嘗試:

Str_id = id.getText(); 
Str_pwd = pwd.getText(); 

編輯:移動

Editable Str_id; 
Editable Str_pwd; 
Str_id = id.getText(); 
Str_pwd = pwd.getText(); 

內部的onClick()。

+0

當onCreate()執行時,甚至沒有繪製視圖,onCreate中的getText()將不起作用,或者至少應該產生未預期的行爲。 – Samuh 2010-08-15 06:31:00

+0

錯誤,建議將「id」和「pwd」的修飾符更改爲final。 – 2010-08-15 06:48:04

+0

根據您的需要,您可以執行以下任何操作: 1.在onClick()或 中移動這些字段的聲明2。通過將這些字段移到onCreate外部,將這些字段作爲類的實例變量。 – Samuh 2010-08-15 11:16:29

0

我不建議敬酒一個字段是必需的消息。你最好只提供EditText焦點,這個焦點告訴用戶該字段是必需的。它在屏幕上的信息較少,而且很微妙,這很重要。你不想打擾用戶太多。

的想法是......

當按鈕被點擊提交,檢查EditTexts如果其中任何一個都是空的,通過請求焦點通知用戶,也確保你的UI前手告訴他們,領域需要。 EditText的提示適用於此。

相關問題