我需要setEnabled按钮,当edittext不为空但项目在API 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()方法不可用..有什么方法可以制作它? THX。
答案 0 :(得分:1)
在将OnFocusChangeListener添加到EditText之前,似乎没有将按钮添加到布局或不调用findViewById。您应该将按钮添加到布局
<Button
android:id="@+id/button"
android:text="Click me"
android:layout_width="match_parent"
android:layout_height="50dp"/>
然后像这样调用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);
}
}
}
});
答案 1 :(得分:0)
在我的活动中:
Button btn1;
EditText edittxt;
在我的onCreate方法中:
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" />
按钮类型正常..按钮功能在启用= false之前工作,因此findviewbyid正常。我真的不知道问题在哪里: - )