0

こんにちは、私はビットマップを使用して壁紙アプリを作成しています.このアプリには 50 枚以上の画像があります...私が直面している問題は、Java コードと xml のすべての画像にコード行を追加する必要があることです。ファイル...

だから、ループや何かを追加することでこれを克服する方法があることを教えてください...私のコードを減らすことができ、より多くの画像を追加することができます...

私が繰り返しているJavaコードは(繰り返されているほんの数行です):

display = (ImageView) findViewById(R.id.IVDisplay);
    ImageView image1 = (ImageView) findViewById(R.id.viewImage1);
    ImageView image2 = (ImageView) findViewById(R.id.viewImage2);
    ImageView image3 = (ImageView) findViewById(R.id.viewImage3);
    ImageView image4 = (ImageView) findViewById(R.id.viewImage4);
    ImageView image5 = (ImageView) findViewById(R.id.viewImage5);
    ImageView image6 = (ImageView) findViewById(R.id.viewImage6);
    ImageView image7 = (ImageView) findViewById(R.id.viewImage7);
    ImageView image8 = (ImageView) findViewById(R.id.viewImage8);
    ImageView image9 = (ImageView) findViewById(R.id.viewImage9);

すぐ

その後、再びJavaコード自体で

toPhone = R.id.IVDisplay;

    image1.setOnClickListener(this);
    image2.setOnClickListener(this);
    image3.setOnClickListener(this);
    image4.setOnClickListener(this);
    image5.setOnClickListener(this);
    image6.setOnClickListener(this);
    image7.setOnClickListener(this);
    image8.setOnClickListener(this);
    image9.setOnClickListener(this);

すぐ

次に、スイッチの場合、コードをもう一度繰り返す必要があります

switch (v.getId()){

    case R.id.viewImage1:
        display.setImageResource(R.drawable.a);
        toPhone = R.drawable.a;
        break;
    case R.id.viewImage2:
        display.setImageResource(R.drawable.b);
        toPhone = R.drawable.b;
        break;
    case R.id.viewImage3:
        display.setImageResource(R.drawable.c);
        toPhone = R.drawable.c;
        break;
    case R.id.viewImage4:
        display.setImageResource(R.drawable.d);
        toPhone = R.drawable.d;
        break;
    case R.id.viewImage5:
        display.setImageResource(R.drawable.e);
        toPhone = R.drawable.e;
        break;
    case R.id.viewImage6:
        display.setImageResource(R.drawable.f);
        toPhone = R.drawable.f;
        break;
    case R.id.viewImage7:
        display.setImageResource(R.drawable.g);
        toPhone = R.drawable.g;
        break;
    case R.id.viewImage8:
        display.setImageResource(R.drawable.h);
        toPhone = R.drawable.h;
        break;

等々

case R.id.setBG:

            Bitmap bMap = BitmapFactory.decodeStream(getResources().openRawResource(toPhone));
               try{
                    getApplicationContext().setWallpaper(bMap);
               }catch(IOException e){
                   e.printStackTrace();
               }

XMLの部分に来ても、すべての画像を追加する必要があります...

<LinearLayout
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/viewImage1"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/a" />

        <ImageView
            android:id="@+id/viewImage2"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/b" />

        <ImageView
            android:id="@+id/viewImage3"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/c" />

        <ImageView
            android:id="@+id/viewImage4"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/d" />

        <ImageView
            android:id="@+id/viewImage5"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/e" />

        <ImageView
            android:id="@+id/viewImage6"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/f" />

        <ImageView
            android:id="@+id/viewImage7"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/g" />

        <ImageView
            android:id="@+id/viewImage8"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/h" />

        <ImageView
            android:id="@+id/viewImage9"
            android:layout_width="125dp"
            android:layout_height="150dp"
            android:padding="15dp"
            android:src="@drawable/i" />

など、すべての画像のコード...

友人は否定的な評価を与えないでください...私はすでにこのアプリを作成しましたが、51の画像があり、51のコードを書かなければなりません...より多くの画像を追加できるようにアプリを最適化したいです。新しいことを学ぶ。誰かが来て、この最適化のことで私を助けてくれることを願っています...

ありがとう

4

0 に答える 0