以编程方式设置分隔符

时间:2014-08-29 00:53:25

标签: java android

我目前正在尝试以编程方式在TableLayout / TableRow中设置分隔符,因为我随时都可以创建UI。我使用的代码如下:

    ...
    tablelayout.setDividerDrawable(getResources().getDrawable(android.R.attr.dividerHorizontal));
    tablelayout.setDividerPadding(4);
    ...

我正在尝试复制以下代码:

<...>
     ...
     android:showDividers="middle"
     android:divider="?android:dividerVertical"
     android:dividerPadding="8dp"
     ...>
</...>

这是我的日志:

08-29 01:49:09.880: W/ResourceType(1714): Requesting resource 0x101030a failed because it is complex
08-29 01:49:09.885: W/System.err(1714): android.content.res.Resources$NotFoundException: Resource ID #0x101030a
08-29 01:49:09.900: W/System.err(1714):     at android.content.res.Resources.getValue(Resources.java:1025)
08-29 01:49:09.900: W/System.err(1714):     at android.content.res.Resources.getDrawable(Resources.java:670)
08-29 01:49:09.900: W/System.err(1714):     at com.tabcards.android.Search.createUI(Search.java:178)
08-29 01:49:09.900: W/System.err(1714):     at com.tabcards.android.Search.access$2(Search.java:142)
08-29 01:49:09.900: W/System.err(1714):     at com.tabcards.android.Search$1$1.run(Search.java:128)
08-29 01:49:09.900: W/System.err(1714):     at android.os.Handler.handleCallback(Handler.java:725)
08-29 01:49:09.900: W/System.err(1714):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-29 01:49:09.900: W/System.err(1714):     at android.os.Looper.loop(Looper.java:158)
08-29 01:49:09.905: W/System.err(1714):     at android.app.ActivityThread.main(ActivityThread.java:5751)
08-29 01:49:09.905: W/System.err(1714):     at java.lang.reflect.Method.invokeNative(Native Method)
08-29 01:49:09.905: W/System.err(1714):     at java.lang.reflect.Method.invoke(Method.java:511)
08-29 01:49:09.905: W/System.err(1714):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
08-29 01:49:09.905: W/System.err(1714):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
08-29 01:49:09.905: W/System.err(1714):     at dalvik.system.NativeStart.main(Native Method)

编辑: 我查看了attr.xml的源代码,我找到了以下行:

...
<attr name="dividerVertical" format="reference"/>
...

1 个答案:

答案 0 :(得分:0)

如果使用Eclipse,请删除r.java文件。它会自动重制。然后转到Project - &gt;清洁。然后再试一次。