Java 使用include标记时的键盘下一步按钮
我见过/试过以下问题,但我的问题不一样:Java 使用include标记时的键盘下一步按钮,java,android,android-layout,android-edittext,Java,Android,Android Layout,Android Edittext,我见过/试过以下问题,但我的问题不一样: 首先,我有一个CardView,其中我有一个EditText,如下所示: <RelativeLayout android:id="@+id/topCard" android:layout_width="wrap_content" android:layout_height="wrap_content"> <android.support.v7.widget.CardView xmlns:and
首先,我有一个
CardView
,其中我有一个EditText
,如下所示:
<RelativeLayout
android:id="@+id/topCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/myCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="horizontal"
app:cardCornerRadius="5dp"
app:cardElevation="3dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="#26c2ef">
</RelativeLayout>
<RelativeLayout
android:id="@+id/cardTopTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="5dp">
<TextView
android:id="@+id/lessonTitleHeading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="Please provide a name:"
android:textColor="#000000"
android:textSize="18sp" />
<ImageView
android:id="@+id/horiLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/lessonTitleHeading"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:background="#60000000" />
<EditText
android:id="@+id/noteEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/horiLine"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:background="@android:color/transparent"
android:hint="Enter name here..."
android:imeOptions="actionNext" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
在我的活动课上,我做了以下几点:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_leason);
View tvOne = findViewById(R.id.tvOne);
View tvTwo = findViewById(R.id.tvTwo);
View tvThree = findViewById(R.id.tvThree);
View tvFour = findViewById(R.id.tvFour);
final TextView tvOne = (TextView)vLessonTitle.findViewById(R.id.lessonTitleHeading);
final EditText etOne = (EditText) vLessonTitle.findViewById(R.id.noteEditText);
TextView tvTwo = (TextView)vlessonProbStu.findViewById(R.id.lessonTitleHeading);
final EditText etTwo = (EditText) vlessonProbStu.findViewById(R.id.noteEditText);
TextView tvThree = (TextView)vLessonWorkedOn.findViewById(R.id.lessonTitleHeading);
final EditText etThree = (EditText) vLessonWorkedOn.findViewById(R.id.noteEditText);
TextView tvFour = (TextView)vlessonWhatStudShouldWorkOn.findViewById(R.id.lessonTitleHeading);
final EditText etFour = (EditText)vlessonWhatStudShouldWorkOn.findViewById(R.id.noteEditText);
tvOne.setText("This is the first CardView:");
etOne.setHint("Enter Title Here...");
tvTwo.setText("This is the second CardView:");
etTwo.setHint("Enter Text Here...");
tvThree.setText("This is the third CardView:");
etThree.setHint("Enter Text Here...");
tvFour.setText("This is the fourth CardView:");
etFour.setHint("Enter Text Here...");
//I tried this, but it didn't work...
etOne.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
etLessonTitle.clearFocus();
etLessonProbStu.requestFocus();
return true;
}
return false;
}
});
}
现在的布局如下所示:
<include
android:id="@+id/lessonTitle"
layout="@layout/activity_notes_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
在这一点上,我有一堆cardwiew
s,其中EditText
s位于彼此下方,如上图所示。我想使用键盘上的“下一步”按钮转到下一个CardsView
sEditText
如果你看一下我上面的活动类,我试着从当前的EditText
使用setOnKeyListener
和clearFocus
,然后在下一个EditText
上使用requestFocus
,但是没有用
有什么想法可以实现吗?试试这个你需要用
android:imeOptions=“actionNext”
将编辑文本设置为
<EditText
android:id="@+id/noteEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/horiLine"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:background="@android:color/transparent"
android:hint="Enter name here..."
android:inputType="text" // specifies your input type here
android:imeOptions="actionNext" />
尝试将android:inputType=“text”
设置为您的editText
@NileshRathod LOL,非常感谢,如果您回答,我将接受。@ClassA很高兴帮助您享受编码我还有一个问题,您不介意。。有可能有一个返回按钮和一个下一步按钮,两者都可用吗?是的,当然,但你的问题我没有让你@ClassALet me重新措辞,有可能同时在键盘上显示回车和下一步按钮吗?我想没有@ClassA