0

i am trying to make an alertbox which popup and display a webview where a user can login to check their email. The alert box is working perfectly and is displaying the webpage. The problem is when i want to enter mu email address, no keyboard is shown for input.

Please help or suggest me alternative ways.

code for alertbox:

gmail.setOnClickListener(new OnClickListener()  
      {  
          @Override  
          public void onClick(View v)  
          {  
           
           
           AlertDialog.Builder alert = new AlertDialog.Builder(RegisterActivity.this); 
           alert.setTitle("Check Gmail");

           WebView wv = new WebView(RegisterActivity.this);
           
           wv.setOnTouchListener(new View.OnTouchListener() {

         @Override
         public boolean onTouch(View v, MotionEvent event) {
                      switch (event.getAction()) {
                      case MotionEvent.ACTION_DOWN:
                      case MotionEvent.ACTION_UP:
                          if (!v.hasFocus()) {
                              v.requestFocus();
                          }
                          break;
                  }
                  return false;
         }
              });
           
           wv.loadUrl("https://mail.google.com");
           wv.setWebViewClient(new WebViewClient() {
               @Override
               public boolean shouldOverrideUrlLoading(WebView view, String url) {
                   view.loadUrl(url);

                   return true;
               }
           });

           alert.setView(wv);
           alert.setNegativeButton("Close", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int id) {
                   dialog.dismiss();
               }
           });
           alert.show();
          }  
      }); 

As requested XML code:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.mohalogin.RegisterActivity"
    android:background="@drawable/register" >
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter your name" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editTextName" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Choose your username" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editTextUserName" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Choose your password" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:id="@+id/editTextPassword" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter your email" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:id="@+id/editTextEmail" />

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Register"
        android:id="@+id/buttonRegister" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="Already Registered" />

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/buttonLogin" />
    
    <LinearLayout android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="25dp">
        
        <Button
        android:id="@+id/googleMail"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@drawable/gmail"/>
        
        <Button 
        android:id="@+id/yahooMail"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@drawable/yahoo"/>
        
        
    </LinearLayout>

</LinearLayout>
Adarsh Yadav
  • 3,752
  • 3
  • 24
  • 46

1 Answers1

0

You need to add Focus down for web view.

Just update as below.

wv.requestFocus(View.FOCUS_DOWN);
wv.requestFocusFromTouch();
wv.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_UP:
                if (!v.hasFocus()) {
                    v.requestFocus();
                }
                break;
        }
        return false;
    }
});

Hope this will solve your problem.

Jay Rathod
  • 11,131
  • 6
  • 34
  • 58