2014-10-27 28 views
1

我需要的setEnabled按鈕時EditText上不是空的,但項目是API 7 ..有低的Android這樣做: - /我想是這樣的:如何使按鈕啓用了API依賴的EditText 7

edittxt.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View view, boolean b) { 
      if (!b) { 
       if (!edittxt.getText().toString().trim().equals("")) { 
        btn1.setEnabled(true); 
       } 
      } 
      } 
     }); 

應用程序不起作用。在API 7中,setEnabled()方法不可用。有什麼辦法可以使它成爲?謝謝。

+2

你是什麼意思,它不可用?它不被棄用,並且自從API 1以來就可用。應用程序是否崩潰或產生任何logcat錯誤消息? – Jakar 2014-10-27 16:17:23

+0

沒有錯誤信息,建設時沒有錯誤或警告..應用程序正在崩潰.. http://developer.android.com/reference/android/widget/Button.html 切換API 7 ..然後公共方法是在陰影字體..像不可用 – 2014-10-27 16:22:32

+0

如果應用程序崩潰 - 確實有一些在logcat中。請張貼。另外,什麼類型是btn1? – 2014-10-27 16:28:21

回答

1

在將OnFocusChangeListener添加到EditText之前,似乎並未將按鈕添加到佈局,也未調用findViewById。在我的活動

Button btn1 = (Button) findViewById(R.id.button); 
EditText edittxt = (EditText) findViewById(R.id.your_edit_text_id); 
edittxt.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     @Override 
     public void onFocusChange(View view, boolean b) { 
     if (!b) { 
      if (!edittxt.getText().toString().trim().equals("")) { 
       btn1.setEnabled(true); 
      } 
     } 
     } 
    }); 
+0

當然,我忘了edittxt =(EditText)findViewById(R.id.editText1);我有它晚於setOnFocusChangeListener ..有一個問題..無論如何感謝:) – 2014-10-27 17:14:27

0

:在我的onCreate方法

Button btn1; 
EditText edittxt; 

:你應該添加您的按鈕佈局

<Button 
    android:id="@+id/button" 
    android:text="Click me" 
    android:layout_width="match_parent" 
    android:layout_height="50dp"/> 

然後調用findViewById這樣

btn1= (Button)findViewById(R.id.button1); 

     edittxt.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View view, boolean b) { 
      if (!b) { 
       if (!edittxt.getText().toString().trim().equals("")) { 
        btn1.setEnabled(true); 
       } 
      } 
      } 
     }); 

在我的佈局中:

<Button 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Zastav a ulož" 
     android:id="@+id/button1" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:enabled="false" /> 

按鈕的類型是OK .. button funktionality在enabled = false之前工作,所以findviewbyid是OK。我真的不知道問題在哪裏:-)

+0

當然,我忘了edittxt =(EditText)findViewById(R.id.editText1); 我以後比setOnFocusChangeListener ..有一個問題..無論如何謝謝:) – 2014-10-27 17:12:59

相關問題