181


私のレイアウトでは、このようなものを定義しました。

<RadioButton
    android:id="@+id/radio1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Dnt want this text" />

アクティビティの一部の関数がこのID(radioButtonのID)を返すと仮定します。今、私はこのIDからこのテキストradio1を取得したいと思います。要するに私はで書かれたテキストradio1を取得したいandroid:id="@+id/radio1"

誰かがそれがどのように可能であるか教えてもらえますか?

4

5 に答える 5

413

アクティビティで、次のことを試してください。

  1. 次のような文字列を取得するにはradio1

    getResources().getResourceEntryName(int resid);
    
  2. 次のような文字列を取得するにはcom.sample.app:id/radio1

    getResources().getResourceName(int resid);
    

Kotlin Nowで:

val name = v.context.resources.getResourceEntryName(v.id)
于 2012-04-13T09:01:17.597 に答える
9

radio1であるラジオボタンid(name)にアクセスするIDからid('long' type)があります。これを使用します

getResources().getResourceEntryName(id);

上記を使用すると、ラジオボタンの名前、つまりradio1を取得できます。ここでパラメータIDはあなたが持っているものです(長いタイプ)。これを試してみてください。100%役立ちます。

于 2012-04-13T09:23:08.203 に答える
4

Kotlin:

val name = v.context.resources.getResourceEntryName(v.id)
于 2018-04-26T12:40:02.583 に答える
1

私が正しければ、取得したいのは「radio1」という単語です(ID自体から?)。その場合は、最初にそのIDを取得する必要があります。

int intname= buttonname.getId();

その後、その結果を取得します

String stringname= getResources().getResourceEntryName(intname);

私が助けてくれたらいいのに

于 2016-08-24T06:47:19.657 に答える
-1

IDの文字列テキストを取得したいということですか?

あなたはそれを定義したので、あなたはこれが何であるかを知っているべきです。

レイアウトがあり、ビューに特定のIDがあるかどうかを確認したい場合は、レイアウト全体をトラバースして、各ビューのIDが探しているIDであるかどうかをgetId()で確認できます。

これがお役に立てば幸いです(私があなたの質問を正しく理解している場合.. :))

于 2012-04-13T08:43:31.760 に答える