按下后退按钮

时间:2015-03-30 06:41:50

标签: android gridview

我在一个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

        }
    });
}

1 个答案:

答案 0 :(得分:0)

您可以创建一个标志。

int imageOpenFlag = 0;

//单击一个图像时,通过使其值为1

,使此播放标记为1
imageOpenFlag = 1;

//在你的onBackPressed方法中,检查这个标志。如果是1,关闭图像,如果是0,则关闭主要活动。

@Override
public void onBackPressed(){
    super.onBackPressed();
    if( imageOpenFlag == 1 ) {
       //Do something you want
       //go back in gridview
    } else {
        //close activity
    }
}