嗨,我在适配器类中动态创建了 edittexts 并禁用了软键盘,因为我有自己的自定义键盘。但问题是文本字段在单击时没有突出显示,甚至光标也不可见。因此,我创建了一个 xml 文件作为 9-patch 并将其放置在可绘制文件夹中,以便在单击时至少更改 edittext 的背景。这样就可以清楚地单击特定的编辑文本。但它总是显示恒定的颜色(厚绿色),反过来又使边框不可见,并在我点击的地方固定颜色。甚至光标也在某些地方得到固定。下面是该应用程序的代码和屏幕截图,用于清晰的想法。请建议如何解决这个问题。提前致谢。
public class TextAdapter extends BaseAdapter {
Context mContext;
int count=81;
int k=0;
static EditText current;
public TextAdapter(Context c) {
mContext = c;
}
public int getCount() {
return count;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
final EditText editText;
if (convertView == null) {
editText = new EditText(mContext);
editText.setLayoutParams(new GridView.LayoutParams(54, 53));
editText.setBackgroundResource(R.drawable.edittextshape);
editText.setGravity(Gravity.CENTER);
editText.setFocusable(false);
editText.setId(k);
k++;
editText.setFilters( new InputFilter[] { new InputFilter.LengthFilter(1)});
editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
current = (EditText) v;
current.setBackgroundColor(R.drawable.shape1); //here I set the background color
current.requestFocus();
}
});
editText.setPadding(0, 0, 0, 0);
} else {
editText = (EditText) convertView;
}
editText.setText("");
return editText;
}
public static EditText getCurrentEditText() throws Exception
{
System.out.println("In getCurrent method "+current);
return current;
}
}