189 8069 5689

GridView+PopupWindow自定义数字键盘-创新互联

public class SimpleGridViewTest extends Activity {
EditText editText;
private PopupWindow popupWindow;
private GridView mGridView;
private View contentview;
private List datas = new ArrayList();
GridViewAdapter adapter;
private static String editNum = "";

创新互联公司专注于琼海企业网站建设,响应式网站,商城网站建设。琼海网站建设公司,为琼海等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);
    editText = (EditText) findViewById(R.id.editText);
    initData();
    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    contentview = inflater.inflate(R.layout.simple_grid_view_test, null);
    popupWindow = new PopupWindow(contentview, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
    popupWindow.setFocusable(true);
    popupWindow.setOutsideTouchable(false);
    mGridView = (GridView) contentview.findViewById(R.id.gridview);
    adapter = new GridViewAdapter(this, R.layout.grid_view_item, datas);
    mGridView.setAdapter(adapter);
    mGridView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView parent, View view, int position, long id) {
            String s = datas.get(position);
            Toast.makeText(SimpleGridViewTest.this, "xuan" + position, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView parent) {
        }
    });
    mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView parent, View view, int position, long id) {
            String num = editText.getText().toString().trim();
            editNum = datas.get(position);
            if (editNum.equals("OK")) {
                editText.setText(editText.getText().toString().trim());
                popupWindow.dismiss();
            } else if (editNum.equals("")) {
                if (num.length() > 0) {
                    editText.setText(num.substring(0, num.length() - 1));
                    editText.setSelection(editText.getText().length());
                }
            } else {
                editText.setText(editText.getText().toString().trim() + datas.get(position));
                editText.setSelection(editText.getText().length());
            }

// Toast.makeText(SimpleGridViewTest.this,"dian"+position,Toast.LENGTH_SHORT).show();
}
});

// 设置不调用系统键盘
    if (Build.VERSION.SDK_INT <= 10) {
        editText.setInputType(InputType.TYPE_NULL);
    } else {
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
        try {
            Class cls = EditText.class;
            Method setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
            setShowSoftInputOnFocus.setAccessible(true);
            setShowSoftInputOnFocus.invoke(editText, false);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    editText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            popupWindow.showAsDropDown(editText);
        }
    });
}
@Override
public void onBackPressed() {       //点击返回按钮
    if (popupWindow.isShowing()) {
        popupWindow.dismiss();
        return;
    }
    super.onBackPressed();
}
// 填充数据
private void initData() {
    for (int i = 0; i < 12; i++) {
        if (i < 3) {
            datas.add(String.valueOf(i + 1));
        } else if (i > 3 && i < 7) {
            datas.add(String.valueOf(i));
        } else if (i > 7 && i < 11) {
            datas.add(String.valueOf(i - 1));
        } else if (i == 3) {
            datas.add("OK");
        } else if (i == 11) {
            datas.add("0");
        } else {
            datas.add("");
        }
    }
}

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:GridView+PopupWindow自定义数字键盘-创新互联
文章转载:http://cdxtjz.cn/article/jijcg.html

其他资讯