2017-02-19 11 views
-3

ランダムに生成されたIDに応じてImageButtonとして1つを設定する方法は150のイメージがありますか? [コードUPDATED] 私はそのように開始しました:あなたは、次のコードを使用してこれを行うことができます私のためImageButtonをランダムに設定する方法は?

+0

すべての画像には、名前が「R.drawable.image1」、「R.drawable.image2」などの独自のIDがあります。ランダムIDを持つ必要があるのはなぜですか。 – JonZarate

+0

私はAndroidには初めてだと申しましたが、申し訳ありません... [質問を更新しました]ランダムに選択されたIDをランダムに生成されたIDと同じように設定する方法はありますか? @JonZarate –

+0

ランダムなIDを持つImageButtonで何をしようとしていますか? – tash

答えて

0

を働いていたコードで更新

int x, y, z,resID; 
String sID; 
Random rand; 
ImageButton SButton; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_play_); 
    rand = new Random(System.currentTimeMillis()); 
    SButton = new ImageButton(this); 
    SButton.setVisibility(View.VISIBLE); 
} 

public void Start(View view) { 
    SButton = (ImageButton) view; 
    x = rand.nextInt(3); 
    y = rand.nextInt(8); 
    z = rand.nextInt(10); 
    sID = "shape_" + x + y + z; 
    resID =getResources().getIdentifier(sID,"drawable","com.packagename"); 
    SButton.setImageResource(resID); 
} 

int resource = getResources().getIdentifier(myID, "drawable", "com.your.package"); 

PS:テイクその名前から「R.id.」を取り出してください。

+0

私のコードを更新しました。@Aftab Hussain –

+0

それはweelを処理しましたが、このエラーが発生します。** getSlotFromBufferLocked:未知のバッファエラー** @Aftab Hussain –

+0

明らかに、これはMarshmellowの未解決の問題です。 「Itai Hanski」の答えを に見てください。http://stackoverflow.com/questions/32561479/android-studio-getslotfrombufferlocked-unknown-buffer-error –

0
  1. イメージ1、イメージ2、...、イメージ150のような名前を変更してください。

  2. 乱数を1〜150(両方を含む)の範囲で生成します。

  3. 以下のコードを使用して、イメージリソースIDを取得します。 (使用の代わりに「描画可能」の「ミップマップ」あなたはミップマップのフォルダ内の画像を配置した場合)

    String myID = "image"+ generatedRandomNumber; 
    int resource = getResources().getIdentifier(myID, "drawable", "com.your.package"); 
    
  4. 使用ImageButtonのための画像を設定するには、このリソースID。

関連する問題