我在一个Android工作的东西。我有一个显示图像的gridView。当我单击一个图像时,会出现一个包含每个图像的imageView和一个后退按钮。它们有一个特定的xml布局。当我单击后退按钮时,我希望gridview返回但不关闭主要活动。请注意主要活动! 所以你们,有什么建议可以帮助我。 这是我的mainactivity的代码:
Bundle myBackupBundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myBackupBundle = savedInstanceState;
setContentView(R.layout.fragment_main);
tvMsg = (TextView) findViewById(R.id.tvMsg);
下面:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
showdetails(position);
}
private void showdetails(int position){
setContentView(R.layout.solo_picture);
tvSoloMsg = (TextView) findViewById(R.id.tvSoloMsg);
tvSoloMsg.setText("Image at" + position);
ivSoloPicture = (ImageView) findViewById(R.id.imgSolo);
ivSoloPicture.setImageResource(mThumbIds[position]);
button = (Button) findViewById(R.id.btnback);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onCreate(myBackupBundle);//When I press back button, I got trouble here
}
});
}
答案 0 :(得分:0)
您可以创建一个标志。
int imageOpenFlag = 0;
//单击一个图像时,通过使其值为1
,使此播放标记为1imageOpenFlag = 1;
//在你的onBackPressed方法中,检查这个标志。如果是1,关闭图像,如果是0,则关闭主要活动。
@Override
public void onBackPressed(){
super.onBackPressed();
if( imageOpenFlag == 1 ) {
//Do something you want
//go back in gridview
} else {
//close activity
}
}