GridView+PopupWindow自定义数字键盘-创新互联
public class SimpleGridViewTest extends Activity {
EditText editText;
private PopupWindow popupWindow;
private GridView mGridView;
private View contentview;
private List
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://ybzwz.com/article/jijcg.html