
@OverrIDeprotected 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)); } }@OverrIDepublic voID onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); setContentVIEw(R.layout.failureselection); configchanged = true;}@OverrIDepublic Object onRetainNonConfigurationInstance() { return customDataGrIDRows;}private boolean fillFailuresList( ArrayList<CustomGrIDVIEwRow> customDataGrIDRows) { boolean isFilled = false; try { // Adding Failures data customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"Hood",false,"Assembly Defect","Masking Poor")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"Floor","Forget Work","Assembly Defect")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"Grill","Incorrect Assembly","Bad Company")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"R Right Frame","Interference","Fix Large Effort")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"R left Frame","Leakage","High IncIDence")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"R Frame","Dirt","Recurrence")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"OutsIDe R Frame","Decal","Checking")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"F Right Frame","Other","Foreign Body")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"F left Frame","","Not Caulking")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"F Frame","Painting Defect")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"OutsIE F Frame","Other")); customDataGrIDRows.add(new CustomGrIDVIEwRow(false,"")); // Populating Failures grID vIEw// dgvwFailures.setAdapter(new CustomGrIDVIEwAdapter(this,// customDataGrIDRows)); isFilled = true; } catch (Exception e) { e.getMessage(); } return isFilled;}解决方法 有两种选择: > How to prevent Custom Views from losing state across screen orientation changes为您的CustomGrIDVIEwRow.
>在适配器中创建一个方法,并将值放在一个包中,并使用savedInstanceState在create上恢复它
小费:
删除任何< requestFocus />从您的EditText布局.虽然AndroID会将焦点放在第一个可聚焦的视图上.
另一个黑客:How to remove focus without setting focus to another control?
总结以上是内存溢出为你收集整理的android – 如何处理**网格视图**配置更改?全部内容,希望文章能够帮你解决android – 如何处理**网格视图**配置更改?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)