2013-07-17 52 views
1

我写了下面的代码,使用textview和按钮显示消息框。当按钮点击时,活动应该完成。但是这有时会起作用,并不一致。有时会挂起。如何使它始终如一地工作?请帮助完成()有时无法正常工作

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并挂起。如何使其一致工作?

+0

挂起时,它只会调用onPause并挂起。 ?并在这里分享onpouse代码 –

+0

你有没有用onPause编写代码? –

+0

no..i只写了这么多的代码 – indira

回答

1

您可以尝试使用DialogFragment来表达您的讯息。
设置起来:

//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,但it has much more to offer

相关问题