1

嗨,我在适配器类中动态创建了 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;

    }


}

在此处输入图像描述

4

0 回答 0