我正在处理一个包含多个片段的应用程序。在One片段下,我有一些文本可编辑字段。每次用户点击此字段时,输入文本并单击左或右箭头键,通过字段导航后,左或右箭头键作为后退或前一个按钮导航到下一个/上一个片段(下一个/上一个屏幕)。
我有以下xml字段和一些自定义
<com.UI.widget.UIEditText
android:id="@+id/userinfo_lastnameinput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textCursorDrawable="@null"
android:focusable="true"
android:focusableInTouchMode="true"
android:ems="10"
android:maxLength="20"
android:textColor="@color/white"
android:imeOptions="actionDone"
android:singleLine="true"
android:inputType="textPersonName" android:paddingTop="5dp"/>
相应的Java代码是:
// Initialize the variable
mLastNameInput = (UIEditText) this.findViewById(R.id.userinfo_lastnameinput);
mLastNameInput.clearFocus();
lastNameTextChangeListener();
private void lastNameTextChangeListener() {
mLastNameInput.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
if (mInitialLoad) {
return;
}
mLastNameVar.setValue(mLastNameInput.getText().toString().trim());
mLastNameInput.setIsPending(mLastNameVar.isPending());
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// Do nothing
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// Do nothing
}
});
}
如何限制此行为,以使箭头键仅在可编辑字段内移动。
答案 0 :(得分:0)
你也可以像这样动态创建片段
// Create new fragment and
transaction Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
//使用此片段替换fragment_container视图中的任何内容,//并在需要时将事务添加到后台堆栈
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
//提交交易
transaction.commit();
只需使用 getSupportFragmentManager()。beginTransaction()。replace(R.id.container,fragment,&#34; class和/或increment&#34;); 最好是按钮设计。只需将您的XML编码片段用作容器