linearLayout の重みメカニズムを置き換えることを目的とした、新しいカスタマイズされたビューを作成しました。レイアウト xml ファイル内で直接使用できるいくつかのスタイル属性を追加しました。
attrs.xml ファイルには以下が含まれます。
<resources>
<declare-styleable name="WeightedLayout_LayoutParams">
<attr name="horizontalWeights" format="string" />
<attr name="verticalWeights" format="string" />
</declare-styleable>
</resources>
例と完全なコードは、ここで見ることができます。私が直面している問題は、ビジュアル エディターで、typedArray から文字列を取得している場所で null ポインター例外が発生し続けることです。
final TypedArray arr=context.obtainStyledAttributes(attrs,R.styleable.WeightedLayout_LayoutParams);
//...
final String horizontalWeights=arr.getString(R.styleable.WeightedLayout_LayoutParams_horizontalWeights);
奇妙なことは、アプリを実行すると正常に動作することです (元のスレッドで報告した奇妙なバグを除いて)。flowLayout を作成した RomainGuyのコードを変更しようとしましたが、そこでも同じ動作が発生することに気付きました。
誰か私が何をすべきか教えてもらえますか? うまくいかないのはどうしてですか?