1

最近、ビューに名前を付けたときに問題に直面しandroid:id="@+id/TextView1"、コード

TextView tv1 = (TextView) findViewById(R.id.TextView1);

命名規則に関する警告はありませんでしたが、間違ったビューを返していました。名前を text_view_1 に変更すると、機能しました。

通常の命名規則は、すべてスモール ケースandroid:id="@+id/text_view_1"またはキャメル ケースのようなものです。android:id="@+id/textView1"

問題またはそれに対する回答を説明する文書化されたリソースはありますか? また、オープンソースコードでよく見かける変数名で m が何を表しているのか知りたいです。例えば

TextView mTextView;

その初心者の質問ですが、どこにも答えが見つかりませんでした。

4

2 に答える 2

4

プロジェクトをクリーンアップしてビルドしてみてください。

Androidコーディング スタイル ガイドには次のように記載されています。

  • 非公開、非静的フィールド名は m で始まります。
  • 静的フィールド名は s で始まります。
  • 他のフィールドは小文字で始まります。
  • public static final フィールド (定数) は ALL_CAPS_WITH_UNDERSCORES です。

private ImageButton mButtonStart;または_private static sSingletonThing;

ちなみに、この規則は、Android ソースコードに貢献したい場合にのみ使用する必要があり、独自のアプリを任意のスタイルで作成できます。

于 2013-04-01T09:09:04.473 に答える
2

これは Eclipse の既知の問題です。参照の問題があったに違いないため、間違ったビューを返していました。通常、プロジェクトをクリーンアップするか、Eclipse を再起動すると役立ちます。

また、プレフィックス m に関して、「m」はプライベート メンバー変数とメソッドを示すために使用される命名規則です。

于 2013-04-01T09:08:58.203 に答える