0

私は開発に不慣れで、最善の解決策が何であるかがわからない時点で立ち往生しています。

drawable フォルダーに保存された 26 個の画像のリストがあります。aからzまで言ってみましょう。ユーザーが右側のレイアウトをクリックすると前方に移動し、左側のレイアウトをクリックすると後方に移動する必要があります。

私の問題は、これらが画像であり、Android によって取得された ID がランダムな int 値であることです。それを使用して、次に表示するアルファベットの文字を比較することはできません。

この問題についてどうすればよいですか?

  1. 画像に a.png、b.png、c.png という名前を付けた場合、後で ID から名前を取得するにはどうすればよいですか?
  2. コレクション フレームワークを使用して、ドローアブルをキーと値のペアとして保存できますか?
4

3 に答える 3

2

リソースの名前を取得するには、

String resourceName = getResources().getResourceName(resId);
于 2013-04-30T03:42:30.120 に答える
1

すべてのイメージ ID を配列に格納できます。例えば、

int images[]=new int[]{R.id.a,R.id.b,...,R.id.z};

次に、ナビゲートするたびに現在の画像の配列内の位置を維持する必要があります。たとえば、次のように位置を変更します

pos=(pos+1)%26;

次の画像と

pos=(pos-1)%26;

前の画像 setImageResource(images[pos]); の場合は、ImageView または ImageButton の場合に使用するか、または を使用しgetResources()ます。

于 2013-04-30T04:09:46.727 に答える
1

このような描画可能なフォルダー内の画像のIDを取得できます...

 int imagekey=getResources().getIdentifier(url.toLowerCase(),"drawable",getPackageName());

ここで、url はドローアブル フォルダー内の画像の名前です。

于 2016-11-19T08:28:31.033 に答える