我有一个webservice,它返回一个序列化的MyPOJO对象列表:
[
{ //JSON MyPOJO },
{ //JSON MyPOJO }
]
Run Code Online (Sandbox Code Playgroud)
要么是错误对象:
{
'error': 'foo',
'message':'bar'
}
Run Code Online (Sandbox Code Playgroud)
使用retrofit2,我该如何检索错误?
Call<List<MyPOJO>> request = ...
request.enqueue(new Callback<List<MyPOJO>>() {
@Override
public void onResponse(Response<List<MyPOJO>> response) {
if (response.isSuccess()) {
List<MyPOJO> myList = response.body();
// do something with the list...
} else {
// server responded with an error, here is how we are supposed to retrieve it
ErrorResponse error = ErrorResponse.fromResponseBody(apiService.getRetrofitInstance(), response.errorBody());
processError(error);
// but we never get there because GSON deserialization throws an error …Run Code Online (Sandbox Code Playgroud) 我有一个DialogFragment:
public static class CharacteristicDialog extends DialogFragment {
int mNum;
static CharacteristicDialog newInstance(int num) {
CharacteristicDialog f = new CharacteristicDialog();
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments().getInt("num");
setStyle(STYLE_NO_INPUT, 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.characteristic_dialog, container, false);
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
}
Run Code Online (Sandbox Code Playgroud)
我在我的主片段中创建它,如下所示:
DialogFragment newFragment = CharacteristicDialog.newInstance(v.getId());
newFragment.setShowsDialog(true);
newFragment.show(getFragmentManager(), …Run Code Online (Sandbox Code Playgroud) android modal-dialog android-fragments android-dialogfragment
我无法让youtube视频与video.js一起使用
我补充说:
<link href="http://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/c/video.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后在身体:
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="360"
data-setup='{"techOrder":["youtube","html5"],"ytcontrols":false}'>
<source src="http://www.youtube.com/watch?v=qWjzVHG9T1I" type='video/youtube' />
Run Code Online (Sandbox Code Playgroud)
但我有一个黑色的div(在最新的Chrome和FF测试).我错过了什么吗?
谢谢
以下代码:
foo.h
#include "bar.h"
class foo{
public:
enum my_enum_type { ONE, TWO, THREE };
foo();
~foo() {}
};
Run Code Online (Sandbox Code Playgroud)
文件
foo::foo()
{
int i = bar::MY_DEFINE;
}
Run Code Online (Sandbox Code Playgroud)
酒吧.h
#include "foo.h"
class bar{
public:
static const int MY_DEFINE = 10;
foo::my_enum_type var;
bar() {};
~bar() {};
};
Run Code Online (Sandbox Code Playgroud)
使 g++ 编译器抱怨 my_enum_type “未命名类型”。为什么 ?所有标题都有多个包含定义(为清楚起见,此处未显示)。
谢谢
foo和bar之间有区别吗:
class A
{
Object __o;
void foo(Object& o)
{
__o = o;
}
void bar(Object o)
{
__o = o;
}
}
Run Code Online (Sandbox Code Playgroud)
据我了解,foo在调用对象o时不执行复制操作,并且对赋值执行一次复制操作.Bar在调用对象o时执行一次复制操作,而另一个用于赋值.所以我或多或少会说foo使用的内存比bar少2倍(如果o足够大).那是对的吗 ?
是否有可能编译器优化bar函数以仅对o执行一次复制操作?即使__o指向参数o的本地副本而不是创建新副本?
android ×2
c++ ×2
enums ×1
html5-video ×1
modal-dialog ×1
reference ×1
retrofit2 ×1
types ×1
video.js ×1
youtube ×1