我有一个edittext(12)数组,以这种方式初始化:
for (int i = 0; i < solution.length(); i++) {
int resID = context.getResources().getIdentifier(idName + i, "id",
context.getPackageName());
editText[i] = (EditText) layout.findViewById(resID);
editText[i].setVisibility(View.VISIBLE);
editText[i].setEnabled(true);
editText[i]
.setFilters(new InputFilter[] { new InputFilter.AllCaps(),
new InputFilter.LengthFilter(1) });
}
我的xml是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutsolutionhorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|center_vertical|center_horizontal" >
<EditText
android:id="@+id/txtsolutionhorizontal0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal0"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal1"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal2"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal3"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal4"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal5"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal6"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal7"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal8"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal9"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<EditText
android:id="@+id/txtsolutionhorizontal11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal10"
android:autoText="false"
android:capitalize="none"
android:gravity="center"
android:inputType="text|textNoSuggestions"
android:padding="0dp"
android:singleLine="true"
android:textSize="15dp"
android:visibility="gone" >
</EditText>
<ImageView
android:id="@+id/buttonclearhorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@id/txtsolutionhorizontal11"
android:clickable="true"
android:src="@drawable/clearbox" />
</RelativeLayout>
对于每个edittext,都有一个监听器:
for (int j = 0; j < editTextVertical.length; j++) {
editTextVertical[j]
.addTextChangedListener(new EditTextInputTextWatcherListener(
editTextVertical, editTextVertical[j], j));
}
其中 EditTextInputTextWatcherListener 是:
public void onTextChanged(CharSequence s, int start, int before, int count) {
// System.out.println(s.charAt(count-1) + " character to send");
if (editText1.getText().toString().length() == 1
&& !editText1.getText().toString().equals("")) {
if (index < 11)
editText[index + 1].requestFocus();
} else if (editText1.getText().toString().length() == 0
&& editText1.getText().toString().equals("")) {
editText[index].requestFocus();
}
}
如果edittext是3或5是可以的,但是当edittext更大时,我在输入文本时会有很多滞后。如果我在编辑文本中写了一封信,我会在 1 秒后看到这封信。
我对模拟器和设备有这个问题。有可能解决问题吗?
非常感谢