我正在构建一个活动多片段应用程序.每次交易后我都会添加到backstack.在几次隐藏和显示片段然后我旋转手机之后,容器上添加的所有片段都被恢复,每个片段都在另一个片段之上.
可能是什么问题?为什么我的活动会显示我之前隐藏的片段?
我正在考虑隐藏所有以前隐藏的现在显示的片段,但是有更"优雅"的方式吗?
保持List<String[]>应用程序运行的最佳方法是什么?我的方法有问题.它大部分时间都给我一个OutOfMemory错误,因为列表太大了.
这List<String[]>是解析我在线下载的csv文件的结果.我所做的是在一个活动中解析csv然后将其结果保存在静态类成员中,如:
String url = "http://xxx/pdf/pms/pms_test.csv";
try {
InputStream input = new URL(url).openStream();
CSVReader reader = new CSVReader(new InputStreamReader(input));
SchedController.sched = reader.readAll();
input.close();
}
Run Code Online (Sandbox Code Playgroud)
...然后访问ClassName.sched不同的活动.
我这样做,以便解析的数据将在每个活动中可用...而且我不必再次解析.我该怎么做才能改善它?
在我的应用程序中,我有几个ImageButton由各自的StateListDrawables 控制.我将它们用作活动底部的标签菜单来切换片段.它们可以很好地改变状态(按下,聚焦,默认).切换片段也可以正常工作.但是,我不知道如何在当前显示它所代表的片段时突出显示按钮(例如,在按下时使用图像集).
我试过设置BackgroundResource,ImageDrawable,ImageResource在运行时,但我得到一个NullPointerException每次我启动我的应用程序.
如果这有帮助,这是我的日志
05-16 14:15:19.489: E/AndroidRuntime(4800): FATAL EXCEPTION: main
05-16 14:15:19.489: E/AndroidRuntime(4800): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meralco/com.meralco.pms.TestPMSActivity}: java.lang.NullPointerException
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.os.Handler.dispatchMessage(Handler.java:99)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.os.Looper.loop(Looper.java:130)
05-16 14:15:19.489: E/AndroidRuntime(4800): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-16 14:15:19.489: E/AndroidRuntime(4800): at java.lang.reflect.Method.invokeNative(Native Method)
05-16 14:15:19.489: E/AndroidRuntime(4800): at java.lang.reflect.Method.invoke(Method.java:507)
05-16 14:15:19.489: …Run Code Online (Sandbox Code Playgroud) 每当他试图删除项目时,我都要求在用户名中包含用户的备注.到目前为止,我有这个:
let remarks = this.get('remarks');
let id = this.get('itemID');
this.store.findRecord('item', id).then(function (selectedItem) {
// TODO - DELETE doesn't accept payload in body?
selectedItem.destroyRecord({remarks:remarks}).then(function(response){
Ember.debug('delete successful:'+JSON.stringify(response));
Ember.$('#confirmDelete').modal('hide');
Ember.$('#remarks').val('');
context.set('successful', true);
context.set('message', context.get('i18n').t('success.role.delete'));
}).catch(function(error){
Ember.debug('delete failed:'+JSON.stringify(error));
Ember.$('#confirmDelete').modal('hide');
Ember.$('#remarks').val('');
context.send('showErrors', error);
});
});
Run Code Online (Sandbox Code Playgroud)
它不起作用.在模型中设置备注值也是如此:
...
this.store.findRecord('item', id).then(function (selectedItem) {
selectedItem.set('remarks', remarks);
selectedItem.destroyRecord().then(function(response){
...
Run Code Online (Sandbox Code Playgroud)
我试图覆盖deleteRecord但我不知道从哪里开始或如何做到这一点.
有人有想法吗?谢谢!
我有两个Fragments Activity:A带按钮的X片段B和带按钮的片段Y.
X单击按钮时如何更改按钮的背景图像B?可能吗?