【问题标题】:Button Append Example按钮附加示例
【发布时间】:2016-12-31 14:01:56
【问题描述】:

我正在尝试将文本添加到按钮名称,例如按钮“ButtonName”是 button.append("now") 的“ButtonNameNow”,它给出了未捕获的异常

是否有任何示例或原因导致我得到这个我已经搜索例如什么也没找到我也不了解有关按钮附加的 Google 文档,但我之前在 Textview 上测试过它

E/UncaughtException: java.lang.IndexOutOfBoundsException
                                                                                                             at android.graphics.Paint.getTextRunAdvances(Paint.java:1908)
                                                                                                             at android.text.TextLine.handleText(TextLine.java:747)
                                                                                                             at android.text.TextLine.handleRun(TextLine.java:898)
                                                                                                             at android.text.TextLine.measureRun(TextLine.java:414)
                                                                                                             at android.text.TextLine.measure(TextLine.java:293)
                                                                                                             at android.text.TextLine.metrics(TextLine.java:267)
                                                                                                             at android.text.Layout.getLineExtent(Layout.java:998)
                                                                                                             at android.text.Layout.drawText(Layout.java:329)
                                                                                                             at android.widget.Editor.drawHardwareAccelerated(Editor.java:1401)
                                                                                                             at android.widget.Editor.onDraw(Editor.java:1324)
                                                                                                             at android.widget.TextView.onDraw(TextView.java:5259)
                                                                                                             at android.view.View.draw(View.java:14520)
                                                                                                             at android.view.View.getDisplayList(View.java:13404)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1379)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.draw(View.java:14523)
                                                                                                             at android.widget.FrameLayout.draw(FrameLayout.java:472)
                                                                                                             at android.view.View.getDisplayList(View.java:13404)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.getDisplayList(View.java:13399)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.View.draw(View.java:14237)
                                                                                                             at android.view.ViewGroup.drawChild(ViewGroup.java:3119)
                                                                                                             at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2947)
                                                                                                             at android.view.View.draw(View.java:14523)
                                                                                                             at android.widget.FrameLayout.draw(FrameLayout.java:472)
                                                                                                             at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2386)
                                                                                                             at android.view.View.getDisplayList(View.java:13404)
                                                                                                             at android.view.View.getDisplayList(View.java:13446)
                                                                                                             at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1609)
                                                                                                             at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1484)
                                                                                                             at android.view.ViewRootImpl.draw(ViewRootImpl.java:2476)
                                                                                                             at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2340)
                                                                                                             at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1963)
                                                                                                             at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1053)
                                                                                                            at android.vi

【问题讨论】:

    标签: android button append uncaught-exception


    【解决方案1】:
    button.setText(button.getText()+"now");
    

    【讨论】:

    • 大声笑,这是一个非常简单的陈述,但你知道 .append 吗?
    • 老实说,我从未尝试过append()。我稍后会看一下文档
    【解决方案2】:

    我遇到了同样的问题。如果我将文本附加到按钮,应用程序会崩溃并出现 java.lang.IndexOutOfBoundsException 致命错误。我发现此问题适用于 Android 6 (API23)
    解决方法是:

    String noItems = String.valueOf(tokens.length) + " " + getResources().getString(R.string.items); 
    lastConnectedItems.setText(noItems);  
    

    代替:

    lastConnectedItems.setText(String.valueOf(tokens.length));
    lastConnectedItems.append(" ");
    lastConnectedItems.append(getResources().getString(R.string.share));
    

    lastConnectedItems 是按钮。
    希望它可以帮助某人:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-31
      • 2013-11-23
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2017-04-11
      相关资源
      最近更新 更多