Android finish()有时工作不正常

Android finish()有时工作不正常,android,android-layout,android-intent,Android,Android Layout,Android Intent,我已经编写了以下代码来使用textview和button显示消息框。当按钮点击时,活动应完成。但这有时是有效的,并不一致。有时它会挂起来。如何使其持续工作?请帮忙 public class MyClass extends Activity { private TextView mText; private Button mOk; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s

我已经编写了以下代码来使用textview和button显示消息框。当按钮点击时,活动应完成。但这有时是有效的,并不一致。有时它会挂起来。如何使其持续工作?请帮忙

public class MyClass extends Activity {
private TextView mText;
private Button mOk;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.msgbox);

    mText = (TextView) findViewById(R.id.txt);
    mText.setText(“Click ok to exit”);

    mOk = (Button) findViewById(R.id.ok);
    mOk.setOnClickListener(mOnOkClickListener);
}

private final OnClickListener mOnOkClickListener = new OnClickListener() {
    public void onClick(View v) {
        finish();
    }
};
}


在工作条件下,单击“确定”按钮时会调用onPause、onStop和onDestroy。挂起时,它只调用onPause并挂起。如何使其始终如一地工作

您可以尝试使用
对话框片段

设置它:

//imports you'll need to add:
import android.app.Dialog;
import android.app.AlertDialog;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;

//Activity that fires up your Dialog needs to be a FragmentActivity:        
public class MyActivity extends FragmentActivity {

// ...

//class representing Dialog you want to show
public static class Dialog1 extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setMessage("Click ok to close");
        builder.setPositiveButton("Button text", null);
        return builder.create();
    }
}
正在执行对话框:

    DialogFragment df = new Dialog1();
    df.show(getSupportFragmentManager(), "tag");

当然,您可以使用此方法创建更复杂的对话框-我们只使用了
AlertDialog.Builder
中的两种方法,但是。

您可以尝试使用
对话框片段创建消息
设置它:

//imports you'll need to add:
import android.app.Dialog;
import android.app.AlertDialog;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;

//Activity that fires up your Dialog needs to be a FragmentActivity:        
public class MyActivity extends FragmentActivity {

// ...

//class representing Dialog you want to show
public static class Dialog1 extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setMessage("Click ok to close");
        builder.setPositiveButton("Button text", null);
        return builder.create();
    }
}
正在执行对话框:

    DialogFragment df = new Dialog1();
    df.show(getSupportFragmentManager(), "tag");

当然,您可以使用此方法创建更复杂的对话框-我们只使用了
AlertDialog.Builder
中的两个方法,但是。

挂起时,它只调用onPause并挂起?共享onpouse代码你有没有用onPause编写的代码?没有。我只写了这么多的代码。这种情况发生在特定的设备上或许多设备上?我很难相信这是一个平台问题。你说的挂起是什么意思?您的应用程序是否通过LogCat中的异常?或者您的意思是它不退出?挂起时,它只调用onPause并挂起?共享onpouse代码你有没有用onPause编写的代码?没有。我只写了这么多的代码。这种情况发生在特定的设备上或许多设备上?我很难相信这是一个平台问题。你说的挂起是什么意思?您的应用程序是否通过LogCat中的异常,或者您的意思是它不会退出?