嘿朋友我正在使用位图制作壁纸应用程序..我有超过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();
}
现在即使在那里我也要添加所有图像......
<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编写代码...我想优化我的应用程序,以便我可以添加更多的图像,甚至我会学习新东西。希望有人能来帮我解决这个优化问题...
由于