小编ono*_*ono的帖子

必须在super.onCreate上添加内容错误之前调用requestFeature()

我有一个抽象的类扩展ActionBarActivity.在onCreate,我有:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    ...
}
Run Code Online (Sandbox Code Playgroud)

应用程序因内容错误之前的requestFeature()而崩溃,特别是在该行上super.onCreate(savedInstanceState).在阅读了一些类似的帖子后,我想出了这个解决方案:

@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    super.onCreate(savedInstanceState);
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么它会在超级电话上崩溃?另外,settingContentView直到我打电话之后,我才进入扩展此课程的课程super.onCreate.它仍然偶尔会崩溃.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.cycle.Cycle}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$600(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5454)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796)
at dalvik.system.NativeStart.main(Native Method)

Caused by: android.util.AndroidRuntimeException: requestFeature() must be called …
Run Code Online (Sandbox Code Playgroud)

android oncreate

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

画布 - 在Android上放大,移动和缩放

我目前正在webview图像(下面的大象)上实现绘图功能.我没有绘制它的问题,但缩放功能在绘图上做了一些时髦的东西(下面的第2张图片).当我放大时,绘图不会缩放而是转换.缩放绘图也不起作用.我的代码如下:

正常

在此输入图像描述

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    canvas.drawBitmap(canvasBitmap, 0, 0, canvasPaint);
    canvas.drawPath(drawPath, drawPaint);
    canvas.scale(mScaleFactor, mScaleFactor);
    canvas.restore();
    clipBounds = canvas.getClipBounds();
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    mScaleDetector.onTouchEvent(event);
    float touchX = event.getX() / mScaleFactor + clipBounds.left;
    float touchY = event.getY() / mScaleFactor + clipBounds.top;
    if (Deal.on)
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                drawPath.moveTo(touchX, touchY);
                break;
            case MotionEvent.ACTION_MOVE:
                drawPath.lineTo(touchX, touchY);
                break;
            case MotionEvent.ACTION_UP:
                drawCanvas.drawPath(drawPath, drawPaint);
                drawPath.reset();
                break;
            default:
                return false;
    }
    else {
        super.onTouchEvent(event);
    }
    invalidate();
    return true;
}

public class …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

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

定位Google地图v2可放大Android中的控件

我创建了一个透明的操作栏,但缩放控件和"谷歌"这个词背后.我不知道如何调整他们的位置.Android手机上的默认Google地图应用将其提升到底部操作栏上方.是否可以重新定位缩放控件和"Google"这个词?

我知道您可以启用/禁用控件:

 map.getUiSettings().setZoomControlsEnabled(true);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

android google-maps

12
推荐指数
1
解决办法
1万
查看次数

Samsung设备上的IndexOutOfBoundsException

我在Samsung Galaxy S5和Note 3和4上得到了IndexOutOfBoundsException.它没有引用我的代码.有没有遇到过这个?我在这里找不到任何东西.

当尝试长按EditText以粘贴内容时,似乎偶尔会发生这种情况.

编辑:

我正在使用一个简单的EditText字段(不在ListView或Spinner中).有一个约28个字符的提示.我切换经由调焦clearFocus几次,我使用的是setOnEditorActionListenersetOnFocusChangeListener该控制连接到所述活性的片段.

编辑#2:

我已经能够通过尝试长按EditText来尝试粘贴一些内容来成功地重现它.它只发生在EditText中已有文本的情况下,我长按文本的右侧,而不是文本的右侧.此外,EditText必须没有焦点.

通过创建自定义EditText和覆盖某些方法的任何可能的解决方案?

java.lang.IndexOutOfBoundsException: setSpan (11 ... 11) ends beyond length 0
   at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1024)
   at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:594)
   at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:590)
   at android.text.Selection.setSelection(Selection.java:116)
   at android.text.Selection.setSelection(Selection.java:127)
   at android.widget.Editor.performLongClick(Editor.java:1008)
   at android.widget.TextView.performLongClick(TextView.java:10637)
   at android.view.View$CheckForLongPress.run(View.java:19482)
   at android.os.Handler.handleCallback(Handler.java:733)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:146)
   at android.app.ActivityThread.main(ActivityThread.java:5678)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
   at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

码:

editText.setOnEditorActionListener(new OnEditorActionListener() {

        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            String searchText = v.getText().toString();

            FragmentSearchList fragmentSearchList …
Run Code Online (Sandbox Code Playgroud)

android indexoutofboundsexception samsung-mobile

11
推荐指数
0
解决办法
2337
查看次数

使用com.google.android.gms的DeadObjectException

我在下面的日志中经常崩溃.它没有引用我的应用程序代码,但我猜它可能与GoogleApiClient连接/断开连接有关.有人得到类似的东西吗?我在这里找不到任何东西.

java.lang.IllegalStateException: android.os.DeadObjectException
  at com.google.android.gms.internal.ao.removeAllListeners(Unknown Source)
  at com.google.android.gms.internal.ap.disconnect(Unknown Source)
  at com.google.android.gms.common.api.b.n(Unknown Source)
  at com.google.android.gms.common.api.b.a(Unknown Source)
  at com.google.android.gms.common.api.b$2.onConnectionSuspended(Unknown Source)
  at com.google.android.gms.internal.r.y(Unknown Source)
  at com.google.android.gms.internal.q$a.handleMessage(Unknown Source)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5102)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
  at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.DeadObjectException
  at android.os.BinderProxy.transact(Native Method)
  at com.google.android.gms.internal.an$a$a.a(Unknown Source)
  ... 15 more
Run Code Online (Sandbox Code Playgroud)

可能它正在发生的地方.我添加了一个try/catch来捕获异常

mGApiClientMgr.addTask(mGApiClientMgr.new GoogleApiClientTask() {
            @Override
            public void run() {
                Log.d(LOG_TAG, "Refreshing data set.");
                Location location;
                try {
                    location = LocationServices.FusedLocationApi.getLastLocation(getGoogleApiClient());
                    onLocationChanged(location);
                }
                catch(IllegalStateException ex) {
                    // …
Run Code Online (Sandbox Code Playgroud)

android google-api

10
推荐指数
1
解决办法
2813
查看次数

DefaultClusterRenderer getMarker()在缩放时返回null

我想在点击时更改群集标记的背景.我通过这样做

@Override
onClusterClick(Cluster<MyObject> cluster) {
    Marker marker = renderer.getMarker(cluster);
    marker.setIcon(....);
}
Run Code Online (Sandbox Code Playgroud)

对于一种情况,这很好用:当我放大或缩小时,簇标记的数量不会改变.例如,如果我有一个15个集群和一个5个集群,那么放大或缩小一个级别,保留相同的两个集群.单击其中一个现在renderer.getMarker(cluster)返回null.如果它们在缩放后重新聚类,则getMarker不为null.

我的DefaultClusterRenderer在下面.我检查了标记onClusteredRendered,它永远不会为空.这是DefaultClusterRenderer中的错误还是应该执行其他操作?

private class MyRenderer extends DefaultClusterRenderer<MyObject> {

    private IconGenerator iconGenerator;
    private float density;

    public MyRenderer(Context context, GoogleMap map, ClusterManager<MyObject> clusterManager) {
        super(context, map, clusterManager);
        density = context.getResources().getDisplayMetrics().density;
    }

    @Override
    protected void onBeforeClusterItemRendered(MyObject item, MarkerOptions markerOptions) {
        markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_pin));
    }

    @Override
    protected void onBeforeClusterRendered(Cluster<MyObject> cluster, MarkerOptions markerOptions) {
        if(iconGenerator == null) {
            iconGenerator = new IconGenerator(getActivity());
            iconGenerator.setContentView(makeTextView(getActivity()));
        }
        iconGenerator.setBackground(makeBackground(false));

        markerOptions.icon(BitmapDescriptorFactory.fromBitmap(iconGenerator.makeIcon(String.valueOf(cluster.getSize()))));
    }

    @Override
    protected void onClusterRendered(Cluster<MyObject> cluster, …
Run Code Online (Sandbox Code Playgroud)

android google-maps markerclusterer

10
推荐指数
1
解决办法
1804
查看次数

领域同时查询两个条件

我如何查询这样的结构:

public class Animal extends RealmObject { 
    RealmList<Bird> birds;
}


public class Bird extends RealmObject { 
    int type;
    RealmList<RealmInteger> species;
}
Run Code Online (Sandbox Code Playgroud)

RealmInteger是一个带有的对象 int value

我想找到所有物种为3 AND 且为2的Animal物体BirdvalueBirdtype

我尝试了这个,但它一直忽略了type:

realm.where(Animal.class)
    .equalTo("birds.type", 2)
    .equalTo("birds.species.value", 3)
    .findAll();
Run Code Online (Sandbox Code Playgroud)

我的猜测是它找到了与值匹配但不同时检查类型字段.我需要一种方法.equalTo("birds.species.value", 3)来检查只有type2的鸟?

更新:尝试下面的@EpicPandaForce答案,它也返回这个动物的数据:

"birds": [
     {
        "species": [3, 15, 26],
        "type": 1
     },
     {
        "species": [],
        "type": 2,
     }
]
Run Code Online (Sandbox Code Playgroud)

因为Animal它没有value3 的物种(它是空的)type2,它不应该返回它.它确实如此.

android realm

8
推荐指数
1
解决办法
2323
查看次数

从Django直接输入D3图表

似乎所有D3示例图都将外部.csv或.tsv文件作为输入数据.有没有办法修改代码从Django中的变量中获取数据.假设{{data}}是JSON格式的,你如何在http://bl.ocks.org/3885304http://bl.ocks.org/3887051这样的图形中实现它?我试图避免总是写一个.csv文件.

javascript django json d3.js

7
推荐指数
2
解决办法
4471
查看次数

Google Plus登录"选择帐户"对话框出现两次

我正在通过开发者文档实施Google+登录.onConnectionFailed在我选择帐户登录时出现错误RESOLUTION_REQUIRED(错误代码6)后,我的方法被调用.这将启动另一个"选择一个帐户"对话框,如果我选择相同的帐户,该对话框将起作用(转让我的权限).我不确定为什么它会提示另一个对话框.我从resolveSignInError任何见解开始?

此外,从"选择一个帐户"中选择一个帐户会显示权限,如果我在此时点击取消并从拨号盘中选择另一个帐户,则会显示错误的权限图片或有时根本没有图片.我也曾An internal error has occurred烤过一次.

@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
    if (!mIntentInProgress) {
        // Store the ConnectionResult so that we can use it later when the user clicks
        // 'sign-in'.
        mConnectionResult = connectionResult;
        if (mSignInClicked) {
            // The user has already clicked 'sign-in' so we attempt to resolve all
            // errors until the user is signed in, or they cancel.
            resolveSignInError();
        }
    }
}

private void resolveSignInError() {
    if (mConnectionResult …
Run Code Online (Sandbox Code Playgroud)

android google-plus

7
推荐指数
1
解决办法
3931
查看次数

字典对象到Pydot的决策树

我有一个字典对象:

menu = {'dinner':{'chicken':'good','beef':'average','vegetarian':{'tofu':'good','salad':{'caeser':'bad','italian':'average'}},'pork':'bad'}}
Run Code Online (Sandbox Code Playgroud)

我试图使用pydot与"菜单"数据创建一个图表(决策树).

'晚餐'将是顶级节点,其价值(鸡肉,牛肉等)低于它.参考链接,图形函数有两个参数; 源和节点.

它看起来像这样:

"王"将是"晚餐","主"将是"鸡肉","牛肉"等.

我的问题是:如何访问值中的键?要从这些数据创建一个树,我觉得我需要创建一个循环,检查是否有特定键的值并绘制它.我不确定如何调用任何字典对象的值(如果它不一定被称为'晚餐'或具有尽可能多的元素.).

有关如何绘制图表的任何建议吗?

python dictionary machine-learning decision-tree pydot

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