为什么当EditText
使用setOnClickListner
时,imeOptions对EditText
不起作用?任何人都可以面对这个问题请帮助。
我的 xml 代码
<EditText
android:id="@+id/txt_current_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp"
android:background="@drawable/backwithborder"
android:hint="@string/hint_current_password"
android:imeOptions="actionNext"
android:inputType="textPassword"
android:singleLine="true"
android:textColor="#b8b8b8"
android:textSize="17sp"
android:typeface="sans" >
</EditText>
<EditText
android:id="@+id/txt_new_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txt_current_password"
android:layout_marginBottom="6dp"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp"
android:background="@drawable/backwithborder"
android:hint="@string/hint_new_password"
android:imeOptions="actionNext"
android:inputType="textPassword"
android:singleLine="true"
android:textColor="#b8b8b8"
android:textSize="17sp"
android:typeface="sans" >
</EditText>
<EditText
android:id="@+id/txt_confirm_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txt_new_password"
android:layout_marginBottom="6dp"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp"
android:background="@drawable/backwithborder"
android:hint="@string/hint_confirm_password"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:singleLine="true"
android:textColor="#b8b8b8"
android:textSize="17sp"
android:typeface="sans" >
</EditText>
我的 java 代码
EditText txtOldPassword = (EditText) findViewById(R.id.txt_current_password);
txtOldPassword.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
txtOldPassword.setFocusable(true);
txtOldPassword.setFocusableInTouchMode(true);
}
});
EditText txtNewPassword = (EditText) findViewById(R.id.txt_new_password);
txtNewPassword.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
txtNewPassword.setFocusable(true);
txtNewPassword.setFocusableInTouchMode(true);
}
});
EditText txtConfirmPassword = (EditText) findViewById(R.id.txt_confirm_password);
txtConfirmPassword.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
txtConfirmPassword.setFocusable(true);
txtConfirmPassword.setFocusableInTouchMode(true);
}
});
答案 0 :(得分:0)
不使用,您将edittext转换为textview
TextView txtOldPassword = (EditText) findViewById(R.id.txt_current_password);
使用
EditText txtOldPassword = (EditText) findViewById(R.id.txt_current_password);
工作代码
<EditText
android:id="@+id/login_input_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="Username Here"
android:imeOptions="actionNext"
android:inputType="text"
android:singleLine="true">
<requestFocus />
</EditText>
<EditText
android:id="@+id/login_input_pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/login_input_username"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="Password Here"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:singleLine="true" />
答案 1 :(得分:0)
不确定那里有什么问题?但是如果你想设置焦点,你也必须设置它:
txtOldPassword.requestFocus();