私はアンドロイド開発に不慣れです(私はac#asp.netの男です)api10以降と互換性のあるアプリを作成しようとしており、if then elseステートメントで異なるxmlを使用して画面の向きを処理しています。onClick イベントである各 xml (imageView1 - imageView6 という名前) に 6 つの imageView コントロールがあります (imagebutton が画像にパディングを配置する方法は好きではありません)。その理由は、方向に基づいて画像サイズを変更する必要があるため、合計 12 個の画像 (ハイライト画像を含めると 24 個) になるためです。
両方の xmls imageViews を imageView1 から imageView6 のままにしておくと、アプリはクラッシュしませんが、12 個の画像をそれぞれ個別に処理することはできません。私はそれらのうちの6つだけで働いています。xml の imageView を imageView7 から imageView12 に変更すると、アプリが完全にクラッシュし、その理由がわかりません。これは、非常に単純なものを見過ごしているようですが、それが何であるかわかりません。これが私のコードです:
package com.firstmelissa.FirstBaptistMelissa;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.Display;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener {
ImageView display1
ImageView display2;
ImageView display3;
ImageView display4;
ImageView display5;
ImageView display6;
ImageView display7;
ImageView display8;
ImageView display9;
ImageView display10;
ImageView display11;
ImageView display12;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_layout, menu);
return true;
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Display getOrient = getWindowManager().getDefaultDisplay();
if (getOrient != null)
{
int orientation = getResources().getConfiguration().orientation;
if (orientation == 1) {
// Portrait
setContentView(R.layout.main_layout);
display1 = (ImageView) findViewById(R.id.imageView1);
ImageView image1 = (ImageView) findViewById(R.id.imageView1);
display2 = (ImageView) findViewById(R.id.imageView2);
ImageView image2 = (ImageView) findViewById(R.id.imageView2);
display3 = (ImageView) findViewById(R.id.imageView3);
ImageView image3 = (ImageView) findViewById(R.id.imageView3);
display4 = (ImageView) findViewById(R.id.imageView4);
ImageView image4 = (ImageView) findViewById(R.id.imageView4);
display5 = (ImageView) findViewById(R.id.imageView5);
ImageView image5 = (ImageView) findViewById(R.id.imageView5);
display6 = (ImageView) findViewById(R.id.imageView6);
ImageView image6 = (ImageView) findViewById(R.id.imageView6);
image1.setOnClickListener(this);
image2.setOnClickListener(this);
image3.setOnClickListener(this);
image4.setOnClickListener(this);
image5.setOnClickListener(this);
image6.setOnClickListener(this);
}
else if (orientation == 2) {
// Landscape
setContentView(R.layout.main_landscape);
//Intent intent = new Intent(this, MainActivityland.class);
//this.startActivity(intent);
display7 = (ImageView) findViewById(R.id.imageView7);
ImageView image7 = (ImageView) findViewById(R.id.imageView7);
display8 = (ImageView) findViewById(R.id.imageView8);
ImageView image8 = (ImageView) findViewById(R.id.imageView8);
display9 = (ImageView) findViewById(R.id.imageView9);
ImageView image9 = (ImageView) findViewById(R.id.imageView9);
display10 = (ImageView) findViewById(R.id.imageView10);
ImageView image10 = (ImageView) findViewById(R.id.imageView10);
display11 = (ImageView) findViewById(R.id.imageView11);
ImageView image11 = (ImageView) findViewById(R.id.imageView11);
display12 = (ImageView) findViewById(R.id.imageView12);
ImageView image12 = (ImageView) findViewById(R.id.imageView12);
image7.setOnClickListener(this);
image8.setOnClickListener(this);
image9.setOnClickListener(this);
image10.setOnClickListener(this);
image11.setOnClickListener(this);
image12.setOnClickListener(this);
}
}
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.imageView1:
Toast.makeText(MainActivity.this, "This is Short Notification",
Toast.LENGTH_SHORT).show();
display1.setImageResource(R.drawable.ignitebuttonh);
display2.setImageResource(R.drawable.strivebutton);
display3.setImageResource(R.drawable.adultsbutton);
display4.setImageResource(R.drawable.marriedsbutton);
display5.setImageResource(R.drawable.womansbutton);
display6.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView2:
display2.setImageResource(R.drawable.strivebuttonh);
display1.setImageResource(R.drawable.ignitebutton);
display3.setImageResource(R.drawable.adultsbutton);
display4.setImageResource(R.drawable.marriedsbutton);
display5.setImageResource(R.drawable.womansbutton);
display6.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView3:
display3.setImageResource(R.drawable.adultsbuttonh);
display2.setImageResource(R.drawable.strivebutton);
display1.setImageResource(R.drawable.ignitebutton);
display4.setImageResource(R.drawable.marriedsbutton);
display5.setImageResource(R.drawable.womansbutton);
display6.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView4:
display4.setImageResource(R.drawable.marriedsbuttonh);
display3.setImageResource(R.drawable.adultsbutton);
display2.setImageResource(R.drawable.strivebutton);
display1.setImageResource(R.drawable.ignitebutton);
display5.setImageResource(R.drawable.womansbutton);
display6.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView5:
display5.setImageResource(R.drawable.womansbuttonh);
display4.setImageResource(R.drawable.marriedsbutton);
display3.setImageResource(R.drawable.adultsbutton);
display2.setImageResource(R.drawable.strivebutton);
display1.setImageResource(R.drawable.ignitebutton);
display6.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView6:
display6.setImageResource(R.drawable.sermonbuttonh);
display5.setImageResource(R.drawable.womansbutton);
display4.setImageResource(R.drawable.marriedsbutton);
display3.setImageResource(R.drawable.adultsbutton);
display2.setImageResource(R.drawable.strivebutton);
display1.setImageResource(R.drawable.ignitebutton);
case R.id.imageView7:
Toast.makeText(MainActivity.this, "This is Short Notification",
Toast.LENGTH_SHORT).show();
display7.setImageResource(R.drawable.ignitebuttonh);
display8.setImageResource(R.drawable.strivebutton);
display9.setImageResource(R.drawable.adultsbutton);
display10.setImageResource(R.drawable.marriedsbutton);
display11.setImageResource(R.drawable.womansbutton);
display12.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView8:
display8.setImageResource(R.drawable.strivebuttonh);
display7.setImageResource(R.drawable.ignitebutton);
display9.setImageResource(R.drawable.adultsbutton);
display10.setImageResource(R.drawable.marriedsbutton);
display11.setImageResource(R.drawable.womansbutton);
display12.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView9:
display9.setImageResource(R.drawable.adultsbuttonh);
display8.setImageResource(R.drawable.strivebutton);
display7.setImageResource(R.drawable.ignitebutton);
display10.setImageResource(R.drawable.marriedsbutton);
display11.setImageResource(R.drawable.womansbutton);
display12.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView10:
display10.setImageResource(R.drawable.marriedsbuttonh);
display9.setImageResource(R.drawable.adultsbutton);
display8.setImageResource(R.drawable.strivebutton);
display7.setImageResource(R.drawable.ignitebutton);
display11.setImageResource(R.drawable.womansbutton);
display12.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView11:
display11.setImageResource(R.drawable.womansbuttonh);
display10.setImageResource(R.drawable.marriedsbutton);
display9.setImageResource(R.drawable.adultsbutton);
display8.setImageResource(R.drawable.strivebutton);
display7.setImageResource(R.drawable.ignitebutton);
display12.setImageResource(R.drawable.sermonbutton);
break;
case R.id.imageView12:
display12.setImageResource(R.drawable.sermonbuttonh);
display11.setImageResource(R.drawable.womansbutton);
display10.setImageResource(R.drawable.marriedsbutton);
display9.setImageResource(R.drawable.adultsbutton);
display8.setImageResource(R.drawable.strivebutton);
display7.setImageResource(R.drawable.ignitebutton);
break;
}
}
}