我在我的应用程序的活动中使用网格视图.每个网格视图行包含三个复选框,可以根据用户想要从数据库查询的内容将其设置为选择/不选择.该活动还包括一个editText,每次活动开始时都会出现onScreenKeyboard,这里我遇到了问题.OnScreenKeyboard,当出现干扰gridview时,它的一些复选框就会消失.我的想法是每次配置更改时刷新网格视图.我尝试通过onRetainNonConfigurationInstance()返回一个对象来处理这个问题.当我使用getLastNonConfigurationInstance()来检索返回的对象时,Object包含一个数组列表,用于填充我的gridview行但是onCreate(),它显示为null.任何人都可以建议我如何处理这个问题或者是否有任何其他方法可以使我的gridView 在配置更改时表现正常.以下是代码,我想说清楚我已经在清单文件中添加了keyboardHidden配置更改但是当键盘出现时有时不会触发onConfigurationChanged()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.failureselection);
findLocalWidgets(); //Initializes Layout Objects
if(configchanged){
//Re populate grid view
customDataGridRows = (ArrayList<CustomGridViewRow>) getLastNonConfigurationInstance();
dgvwFailures.setAdapter(new CustomGridViewAdapter(this,
customDataGridRows));
configchanged = false;
}else{
fillFailuresList(customDataGridRows);
dgvwFailures.setAdapter(new CustomGridViewAdapter(this,
customDataGridRows));
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.failureselection);
configchanged = true;
}
@Override
public Object onRetainNonConfigurationInstance() {
return customDataGridRows;
}
private boolean fillFailuresList(
ArrayList<CustomGridViewRow> …Run Code Online (Sandbox Code Playgroud) 我开发了一个我想与客户分享的应用程序.我想分享它的试验,照顾以下几点
我打算为我的应用程序维护一个文件,其中第一次运行的时间标记保存在其中,可以与每次运行的GPS时间进行比较,但我面临的问题是文件存储.如果我将文件保存在内部存储器中,它会在应用程序卸载时被删除,并且在用户重新安装应用程序时无法使用,如果我将其存储在SD卡/外部存储器上,则很容易被用户删除.我从无处不在的地方调查了这个问题,但没有成功.你们的任何想法或建议都会让人感到宽慰.:-)
在我的一个项目中,我必须处理逗号分隔文件 (CSV)。我必须基于逗号分割数据,,忽略引号内的逗号(即""),因此我使用了另一个堆栈溢出问题中提到的表达式(Java:分割逗号分隔的字符串但忽略引号中的逗号)。一切都工作正常,直到最近我注意到它不适用于下面提到的一种特定场景。
我有一个数据字符串需要用逗号分割为:
20Y-62-27412,20Y6227412NK,BRACKET,101H,00D505060,H664374,06/25/2013,1,,
Run Code Online (Sandbox Code Playgroud)
根据我的理解表达
String[] rowData = str.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
Run Code Online (Sandbox Code Playgroud)
拆分后的数据应该返回一个大小为 10 的数组,其中数组的最后两个索引包含一个空字符串,相反,我得到一个大小为 8 的数组,最后两个逗号不被视为拆分器。我已经在我的应用程序中的多个地方使用了这个表达式,所以我不想从这里回溯。任何帮助,将不胜感激。谢谢