我正在使用ActionBarSherlock,我正在尝试使用viewpager实现嵌套的片段结构.
我有一个包含一些视图的活动和一个包装器fragmet(FragmentA)
该FragmentA包含一个视图寻呼机,显示FragmentA.1,FragmentA.2,FragmentA.3.
默认情况下,因为它是讨论onCreateOptionsMenu事件不会分派到子片段在这里.所以我使用这个解决方案来克服这个问题.
它在API级别17上工作得很好,但是对于下面它没有显示第一个片段的选项菜单,但是当我滚动到其他时,一切都开始工作得很好.我试过从父片段调用onCreateOptionsMenu但没有结果.当我滚动回第一个片段时它也有效.
有什么建议?
更新:
更明确的表达方式:
通过包装器片段,我的意思是保存viewpager的片段.所以结构是
ACTIVITY
-> WRAPPER FRAGMENT (holds viewpager and passes childfragmentmanager to adapter(FragmentPagerAdapter) as fragmentmanager) (parent is activity)
-> CHILDFRAGMENTS(items of viewpager) (parent is wrapper fragment but viewpager manages its framelayout)
Run Code Online (Sandbox Code Playgroud)
我也发现了一个不太好的临时解决方案:
if(Build.VERSION.SDK_INT > 17){
pager.setCurrentItem(1,false);
} else {
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
pager.setCurrentItem(1, true);
}
}, 300);
}
Run Code Online (Sandbox Code Playgroud) android fragment android-fragments android-viewpager actionbarsherlock
我正在努力在TensorFlow中实现K-Nearest Neighbor.我认为要么我忽略了一个错误,要么做了一些可怕的错误.
以下代码始终将Mnist标签预测为0.
from __future__ import print_function
import numpy as np
import tensorflow as tf
# Import MNIST data
from tensorflow.examples.tutorials.mnist import input_data
K = 4
mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)
# In this example, we limit mnist data
Xtr, Ytr = mnist.train.next_batch(55000) # whole training set
Xte, Yte = mnist.test.next_batch(10000) # whole test set
# tf Graph Input
xtr = tf.placeholder("float", [None, 784])
ytr = tf.placeholder("float", [None, 10])
xte = tf.placeholder("float", [784])
# Euclidean Distance
distance = tf.neg(tf.sqrt(tf.reduce_sum(tf.square(tf.sub(xtr, xte)), reduction_indices=1))) …Run Code Online (Sandbox Code Playgroud) 我正在尝试将json请求的Retrofit库添加到我的应用程序中.我得到一个非常简单但令人讨厌的错误.
当我执行此方法时:
@GET("/Server/ports/{portCode}")
@Headers({
"Content-Type: application/json",
"Accept-Language: en"
})
void listArrivalPorts(
@Path("portCode") String portCode,
Callback<PGSArrivalPortsResponse> callback
);
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Retrofit-Idle
java.lang.IllegalStateException: Method path "/Server/ports/{portCode}" does not contain {portCode}.
at retrofit.RestMethodInfo.parseParameters(RestMethodInfo.java:320)
at retrofit.RestMethodInfo.init(RestMethodInfo.java:90)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:202)
at retrofit.RestAdapter$RestHandler.access$300(RestAdapter.java:156)
at retrofit.RestAdapter$RestHandler$1.obtainResponse(RestAdapter.java:189)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at retrofit.Platform$Android$2$1.run(Platform.java:132)
at java.lang.Thread.run(Thread.java:1019)
Run Code Online (Sandbox Code Playgroud)
但当我删除这样的替换体,
@GET("/Server/ports/SOMETHING")
@Headers({
"Content-Type: application/json",
"Accept-Language: en"
})
void listArrivalPorts(
Callback<PGSArrivalPortsResponse> callback
);
Run Code Online (Sandbox Code Playgroud)
它工作正常.
此外,如果我添加参数@Path("portCode") String portCode我得到相同的错误.
为什么会这样?谢谢.