gpt4 book ai didi

java - 使用 include 标签时键盘下一个按钮

转载 作者:行者123 更新时间:2023-11-30 00:17:12 25 4
gpt4 key购买 nike

我看过/尝试过以下问题,但我的不一样:


首先,我有一个 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>

然后我通过使用 include 在另一个布局中扩充这个布局,如下所示:

<include
android:id="@+id/lessonTitle"
layout="@layout/activity_notes_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

在我的 Activity 类中,我执行以下操作:

@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;
}
});

}

布局现在看起来像这样:

FinalLayout

此时,我有一堆 CardViewEditText,就像上面一样。我想使用键盘上的下一个按钮转到下一个 CardsViewEditText

如果您查看上面的 Activity 类,我尝试使用当前 EditText 中的 setOnKeyListenerclearFocus,然后使用 requestFocus 在下一个 EditText 上,但这没有用。

有什么办法可以实现吗?

最佳答案

试试这个你需要设置 android:inputType="" 到你的 Edittext 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" />

关于java - 使用 include 标签时键盘下一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47029268/

25 4 0