私はAndroidの初心者です。onclick イベント内のインテントを介して新しいアクティビティを開始しようとしています。これはエミュレータで正常に動作します。しかし、実際のデバイスで試してみると、機能せず、アプリケーションが再びメイン画面に移動します。logcat にエラーは表示されません。
ここでメソッドを呼び出しますstartActivity
。
relativeAbout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
Class OurClass = Class
.forName("com.wad.tourismguide.AboutCity");
Intent newIntent = new Intent(getApplicationContext(),
OurClass);
newIntent.putExtra("name", name);
newIntent.putExtra("detail", detail);
newIntent.putExtra("image", main);
startActivity(newIntent);
System.out.println("intent starting");
} catch (ClassNotFoundException e) {
// TODO: handle exception
e.printStackTrace();
}
}
});
新しいアクティビティを以下に示します。
public class AboutCity extends Activity {
TextView cityName;
ImageView image;
TextView detailText;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.aboutcity);
cityName = (TextView)findViewById(R.id.tvDetailCityName);
image = (ImageView)findViewById(R.id.ivDetailImage);
detailText = (TextView)findViewById(R.id.tvDetailText);
String name = getIntent().getStringExtra("name");
System.out.println("city name"+ name);
String detail = getIntent().getStringExtra("detail");
System.out.println("city detail"+ detail);
Bitmap b= (Bitmap)getIntent().getParcelableExtra("image");
System.out.println(detail);
cityName.setText(name);
detailText.setText(detail);
image.setImageBitmap(b);
}
}
先ほど説明したように、これはエミュレーターで問題なく動作します。しかし、それは実際のデバイスでは機能しません。どこが間違っているのかわかりません。誰かがこれで私を助けてくれますか?