一周总结
昨天忘了这么回事.一周继续做着.
上周稍微修改了下系统自带的那个键盘demo.最终没能搞定,但也理解了点service绑定的东西.
用chronometer做了个秒钟,其实可以精确到毫秒,但在走动时显示不出,可在读取时读到毫秒.具体的连源代码都没搞到,不晓得源代码中走动的程序怎么实现.
还做了xml解析工作,和生成xml的操作.
以及最后用按钮做了个键盘.今天周一也修改了一些bug,比如加载重复,键盘横版解决,还有布局排版问题.
// 禁用EditText软键盘
input_list.get(i).setInputType(InputType.TYPE_DATETIME_VARIATION_NORMAL);
用上面这句话够了,网上还附和了很多代码,最终实现也没达到这个的要求.
在EditText光标位置插入字符
int index = 0;
// 可编辑EditText控件
Editable edit;
// 获得光标位置
index = text.getSelectionStart();
edit = text.getEditableText();
if (index < 0 || index >= edit.length())
{
edit.append("1");
} else
{
edit.insert(index, "1");// 光标所在位置插入文字
}
//设置选框的焦点,即就是想要的setFocus效果,但android中没提供这方法,不知为何.
input_list.get(isSelect - 1).setFocusable(true);
input_list.get(isSelect - 1).requestFocus();
input_list.get(isSelect - 1).setFocusableInTouchMode(true);
//删除字符以及删除光标前面的字符
index = text.getSelectionStart();
edit = text.getEditableText();
if (index <= 0 || index > edit.length())
{
edit.delete(index, index);
} else
{
edit.delete(index - 1, index);
}
//下面是DOM解析的一些操作
DocumentBuilderFactory factory = null;
DocumentBuilder builder = null;
Document document = null;
// InputStream inputStream = null;
FileInputStream inputStream = null;
factory = DocumentBuilderFactory.newInstance();
try
{
builder = factory.newDocumentBuilder();
// inputStream = getAssets().open("school.xml");
inputStream = new FileInputStream(fileName);
document = builder.parse(inputStream);
// 找到根Element
Element root = document.getDocumentElement();
// 得到根下面的列表
NodeList schools = root.getElementsByTagName("school");
Element school = (Element) schools.item(0);
坚持成习惯.尽管已有些不情愿,希望自己能克服.