1

xmlではなくjavaを使用してカスタムステータスバー通知レイアウトを作成しようとしています。リニアレイアウトを作成し、必要なパラメーターを設定し、通知リモートビューで設定しましたが、FCが提供されます。(「悪い通知が投稿されました」)

これが私のテストコードです:

LinearLayout layoutTest;
layoutTest = new LinearLayout(this);
layoutTest.setOrientation(LinearLayout.VERTICAL);

LayoutParams paramTest = new LinearLayout.LayoutParams(
             LayoutParams.FILL_PARENT,
             LayoutParams.FILL_PARENT, 1.0f); 

layoutTest.setLayoutParams(paramTest);
layoutTest.setId(R.id.mlinearlayout);

contentView = new RemoteViews(this.getPackageName(), R.id.mlinearlayout);
nbuilder.setContent(contentView);
// and all the other notification builder good stuff

私はsetId()にあまり詳しくありませんが、それが問題になる可能性がありますか?IDの場合、次のコマンドで/res/values/ids.xmlを作成しました。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="mlinearlayout" />
</resources>

どんな助けでも大歓迎です!

4

1 に答える 1

0

これはおそらく、RemoteViewsコンストラクターがXMLファイルの識別子を期待していて、要素の識別子を渡していることに関連しています。

public View apply(Context context, ViewGroup parent)レイアウトIDを使用して、ビューがどこで膨らんでいるかなど、RemoteViewのメソッドのソースを調べることでさらに洞察が得られるかもしれません。

あなたは本当にそれをプログラムでやらなければなりませんか?XMLは進むべき道のようです、それは少なくとも文書化されたものです、そして私はあなたのコードに理由がわかりません、なぜあなたはそれをプログラムで行う必要があるのですか?

于 2012-07-06T17:54:31.770 に答える