单击时突出显示一个edittext,并在单击另一个edittext时使突出显示丢失

时间:2012-09-01 05:41:55

标签: android onclick android-edittext highlighting

您好我在适配器类中动态创建了edittexts并禁用了软键盘,因为我有自己的自定义键盘。但问题是文本字段在单击时没有突出显示,甚至光标也不可见。因此,我创建了一个xml文件作为9补丁并将其放在drawable文件夹中,以便在单击时更改至少edittext的背景。这样就可以清楚地看到特定的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;

    }


}

enter image description here

0 个答案:

没有答案