amin-rz

چرا وب ويو فقط نمايش ميده؟

11 ارسال در این موضوع قرار دارد

چطور ميشه webview يي كه گذاشتيم تو صفحه قابليت هاي مرورگر رو داشته باشه؟

بشه رو لينكها كليك كرد و متن وارد كرد تو تكست باكس ها..

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای اینکار میبایستی از کلاس  WebChromeClient و WebViewClient استفاده کنید.

[shcode=java]myWebView = (WebView) findViewById(R.id.webView1);

        

        //enable Javascript

        myWebView.getSettings().setJavaScriptEnabled(true);

        

        //loads the WebView completely zoomed out

        myWebView.getSettings().setLoadWithOverviewMode(true);

        

        //true makes the Webview have a normal viewport such as a normal desktop browser

        //when false the webview will have a viewport constrained to it's own dimensions

        myWebView.getSettings().setUseWideViewPort(true);

        

        //override the web client to open all links in the same webview

        myWebView.setWebViewClient(new MyWebViewClient());

        myWebView.setWebChromeClient(new MyWebChromeClient());

        

        //Injects the supplied Java object into this WebView. The object is injected into the

        //JavaScript context of the main frame, using the supplied name. This allows the

        //Java object's public methods to be accessed from JavaScript.

        myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");

        

        //load the home page URL

        myWebView.loadUrl("http://demo.mysamplecode.com/Servlets_JSP/pages/androidWebView.jsp");

{

private class MyWebViewClient extends WebViewClient {

     @Override

     public boolean shouldOverrideUrlLoading(WebView view, String url) {

         if (Uri.parse(url).getHost().equals("demo.mysamplecode.com")) {

             return false;

         }

         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

         startActivity(intent);

         return true;

     }

 }

 

 private class MyWebChromeClient extends WebChromeClient {

     

  //display alert message in Web View

  @Override

     public boolean onJsAlert(WebView view, String url, String message, JsResult result) {

         Log.d(LOG_TAG, message);

         new AlertDialog.Builder(view.getContext())

          .setMessage(message).setCancelable(true).show();

         result.confirm();

         return true;

     }

 

 }

 

 public class JavaScriptInterface {

     Context mContext;

 

     // Instantiate the interface and set the context

     JavaScriptInterface(Context c) {

         mContext = c;

     }

     

     //using Javascript to call the finish activity

     public void closeMyActivity() {

         finish();

     }

     

 }

 

[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

.

دوستان!

من هم از وب ویو استفاده کردم. آدرس یک سایت را دادم. یک بار باز شد.

اما در بار دوم به علت قطع احتمالی اینترنت صفحه لود نشد. تازه متوجه شدم که باید یک دکمه برای رفرش صفحه در اکشن بار بگذارم.

دکمه را می توانم در اکشن بار قرار دهم، اما دستور رفرش صفحه را دوستان لطف کنند و راهنمائی کنند.

با تشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

.

دوستان!

من هم از وب ویو استفاده کردم. آدرس یک سایت را دادم. یک بار باز شد.

اما در بار دوم به علت قطع احتمالی اینترنت صفحه لود نشد. تازه متوجه شدم که باید یک دکمه برای رفرش صفحه در اکشن بار بگذارم.

دکمه را می توانم در اکشن بار قرار دهم، اما دستور رفرش صفحه را دوستان لطف کنند و راهنمائی کنند.

با تشکر

هر بار آدرسی که میدی اون آدرسو تو یه متغیر بریز بعد ازون متغیر اون ادرس رو فراخوانی کن

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اگر ممکنه یک نمونه کد بدهید.

ممنون میشم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

چگونه می توانم یک دکمه در اکشن بار یا در صفحه قرار دهم تا اگر صفحه به سایت مربوطه نرفت بتوانم صفحه را رفرش کنم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

از recreate(); میتونی استفاده کنی

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای اینکار میبایستی از کلاس  WebChromeClient و WebViewClient استفاده کنید.

[shcode=java]myWebView = (WebView) findViewById(R.id.webView1);

        

        //enable Javascript

        myWebView.getSettings().setJavaScriptEnabled(true);

        

        //loads the WebView completely zoomed out

        myWebView.getSettings().setLoadWithOverviewMode(true);

        

        //true makes the Webview have a normal viewport such as a normal desktop browser

        //when false the webview will have a viewport constrained to it's own dimensions

        myWebView.getSettings().setUseWideViewPort(true);

        

        //override the web client to open all links in the same webview

        myWebView.setWebViewClient(new MyWebViewClient());

        myWebView.setWebChromeClient(new MyWebChromeClient());

        

        //Injects the supplied Java object into this WebView. The object is injected into the

        //JavaScript context of the main frame, using the supplied name. This allows the

        //Java object's public methods to be accessed from JavaScript.

        myWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");

        

        //load the home page URL

        myWebView.loadUrl("http://demo.mysamplecode.com/Servlets_JSP/pages/androidWebView.jsp");

{

private class MyWebViewClient extends WebViewClient {

     @Override

     public boolean shouldOverrideUrlLoading(WebView view, String url) {

         if (Uri.parse(url).getHost().equals("demo.mysamplecode.com")) {

             return false;

         }

         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

         startActivity(intent);

         return true;

     }

 }

 

 private class MyWebChromeClient extends WebChromeClient {

     

  //display alert message in Web View

  @Override

     public boolean onJsAlert(WebView view, String url, String message, JsResult result) {

         Log.d(LOG_TAG, message);

         new AlertDialog.Builder(view.getContext())

          .setMessage(message).setCancelable(true).show();

         result.confirm();

         return true;

     }

 

 }

 

 public class JavaScriptInterface {

     Context mContext;

 

     // Instantiate the interface and set the context

     JavaScriptInterface(Context c) {

         mContext = c;

     }

     

     //using Javascript to call the finish activity

     public void closeMyActivity() {

         finish();

     }

     

 }

 

[/shcode]

ممنون داداش اوکی هست فقط چرا وقتی رو یه لینک کلیک می کنم اونو تو مرورگر گوشی باز می کنه نه تو وب ویو؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آقا فرزاد چكار كنم كه وقتي رو لينكي تو وب ويو كليك شد به مرورگر منتقل نشيم و تو همون وب ويو باز بشه!؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما کافیه این کد ها مربوط به این shouldOverrideUrlLoading پاک کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

شما کافیه این کد ها مربوط به این shouldOverrideUrlLoading پاک کنید

پاك مي كنم,ولي ديگه اصلا لينك ها باز نميشن.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری