小编bug*_*ral的帖子

ViewPager中嵌套片段的OptionsMenu

我正在使用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

6
推荐指数
1
解决办法
2597
查看次数

TensorFlow中KNN实现的问题

我正在努力在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)

python machine-learning knn tensorflow

3
推荐指数
1
解决办法
4571
查看次数

Retrofit-Idle java.lang.IllegalStateException:方法路径不包含{}

我正在尝试将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我得到相同的错误.

为什么会这样?谢谢.

android json annotations retrofit

2
推荐指数
1
解决办法
1562
查看次数