Błąd okna dialogowego logowania do Twittera

Witam mam zintegrowany program twitter w mojej aplikacji na Androida. Problem polega na tym, że kiedy próbuję zalogować się do twittera, powinien po raz pierwszy wyświetlić okno logowania, wyświetla poprawnie okno dialogowe i mogę zalogować się na konto twitter, ale po raz drugi próbowałem się zalogować, wyświetla się pusty twitter dialog.below to mój kod dla TwitterDialog. jak mogę rozwiązać ten problem. proszę dać mi rozwiązanie.

<code>public class TwitterDialog extends Dialog {

    static final float[] DIMENSIONS_LANDSCAPE = { 460, 260 };
    static final float[] DIMENSIONS_PORTRAIT = { 280, 420 };
    static final FrameLayout.LayoutParams FILL = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);
    static final int MARGIN = 4;
    static final int PADDING = 2;

    private String mUrl;
    private TwDialogListener mListener;
    private ProgressDialog mSpinner;
    private WebView mWebView;
    private LinearLayout mContent;
    private TextView mTitle;

    private static final String TAG = "Twitter-WebView";

    public TwitterDialog(Context context, String url, TwDialogListener listener) {
        super(context);
        mUrl = url;
        mListener = listener;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mSpinner = new ProgressDialog(getContext());
        mSpinner.requestWindowFeature(Window.FEATURE_NO_TITLE);
        mSpinner.setMessage("Loading...");
        mContent = new LinearLayout(getContext());
        mContent.setOrientation(LinearLayout.VERTICAL);
        setUpTitle();
        setUpWebView();
        Display display = getWindow().getWindowManager().getDefaultDisplay();
        final float scale = getContext().getResources().getDisplayMetrics().density;
        float[] dimensions = (display.getWidth() < display.getHeight()) ? DIMENSIONS_PORTRAIT: DIMENSIONS_LANDSCAPE;addContentView(mContent, new FrameLayout.LayoutParams((int) (dimensions[0] * scale + 0.5f), (int) (dimensions[1]* scale + 0.5f)));
    }

    private void setUpTitle() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        Drawable icon = getContext().getResources().getDrawable(R.drawable.twitter_icon);
        mTitle = new TextView(getContext());

        mTitle.setText("Twitter");
        mTitle.setTextColor(Color.WHITE);
        mTitle.setTypeface(Typeface.DEFAULT_BOLD);
        mTitle.setBackgroundColor(0xFFbbd7e9);
        mTitle.setPadding(MARGIN + PADDING, MARGIN, MARGIN, MARGIN);
        mTitle.setCompoundDrawablePadding(MARGIN + PADDING);
        mTitle.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
        mContent.addView(mTitle);
    }

    private void setUpWebView() {
        mWebView = new WebView(getContext());

        mWebView.setVerticalScrollBarEnabled(false);
        mWebView.setHorizontalScrollBarEnabled(false);
        mWebView.setWebViewClient(new TwitterWebViewClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl(mUrl);
        mWebView.setLayoutParams(FILL);
        //mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        mContent.addView(mWebView);
    }

    private class TwitterWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (Constants.LOG)Log.d(TAG, "Redirecting URL " + url);
            if (url.startsWith(TwitterApp.CALLBACK_URL)) {
                mListener.onComplete(url);
                //mWebView.getSettings().setAppCacheEnabled(false);
                //mWebView.refreshDrawableState();
                if (Constants.LOG)Log.d(TAG, "Clearing chache");
                TwitterDialog.this.dismiss();
                return true;
            } else if (url.startsWith("authorize")) {
                return false;
            }
            return true;
        }
        @Override
        public void onReceivedError(WebView view, int errorCode,
            String description, String failingUrl) {
            if (Constants.LOG)Log.d(TAG, "Page error: " + description);
            super.onReceivedError(view, errorCode, description, failingUrl);
            mListener.onError(description);
            TwitterDialog.this.dismiss();
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            if(Constants.LOG)Log.d(TAG, "Loading URL: " + url);
            super.onPageStarted(view, url, favicon);
            mSpinner.show();
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            String title = mWebView.getTitle();
            if (title != null && title.length() > 0) {
            mTitle.setText(title);
            }
            mSpinner.dismiss();
        }

    }
}``
</code>

questionAnswers(1)

yourAnswerToTheQuestion