カスタム ビュー (ビューグループを拡張する) があり、 attrs.xmlで定義されたいくつかのカスタム属性を指定しました....
<declare-styleable name="datascope">
<attr name="colcount" format="integer" />
<attr name="titleheaderrows" format="integer" />
<attr name="colheaderrows" format="integer" />
<attr name="rowlayout" format="reference" />
</declare-styleable>
うまくピックアップできる整数ですが、最後のもの - rowlayout
- 必要に応じて膨らませる追加のレイアウト ファイルを参照するために使用したいです。しかし、メイン レイアウト ファイルで rowlayout 属性を表現する正しい方法が見つかりません。私が試してみました:
lui:rowlayout="@layout/sensorvaluesdata">
しかし、これは実行時に失敗します:
E/AndroidRuntime(22092): 原因: java.lang.NumberFormatException: 「res/layout/sensorvaluesdata.xml」を整数として解析できません
と
lui:rowlayout="?layout/sensorvaluesdata"
失敗する
E/AndroidRuntime(22341): 原因: java.lang.NumberFormatException: '?2130903043' を整数として解析できません
興味深いのは、リソース ID がそこに貼り付けられているように見えますが?
、先頭にも a が貼り付けられているようです。
私のR.javaファイルには、sensorvaluesdata
.
public static final class layout {
public static final int sensorvaluesdata=0x7f030003;
}
これを行う正しい方法は何ですか?
(情報をJavaソースにハードコーディングでき、正常に動作します....
View vx = li.inflate(R.layout.sensorvaluesdata, this, false);