بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در لینک کردن وب ویوها

مدیریت گفتگو
کوثر 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام همگی خسته نباشین.دوستان من توی پروژم از چندتا وب ویو استفاده کردم(مثل روش استاد)حالا توی یکی از این صفحه ها از چندتا لینک استفاده کردم که لینک میشه به یک صفحه دیگه(مثلا با کلیلک روی قسمتی از متن در session1 منتقل میشم به session2) حالا وقتی توی session2 هستم میخوام با زدن کلید back گوشی دوباره برگردم به همون session1 که الان این اتفاق نمیوفتد و برمیگردم به اکتیویتیم.دققا نمیدونم توی onBackPressed چی باید بزنم که به این صورت نباشه.کسی اینکارو کرده راهنمایی کرده ممنون میشم.

 

نظرات

کوثر 11 سال پیش
من دقیقا همین قطعه کد رو زدم اما باز هم نمیشه و با زدن کلید back گوشی برمیگرده دوباره به اکتیویتی نه صفحه ی html قبلی.راه حل دیگه ای نیست؟کد هم پایین درج کردم
توجه کنید که webView باید به صورت فیلد تعریف شده باشه تا بتونید داخل متد onBackPressed ازش استفاده کنید

پاسخ‌ها 3

کوثر 11 سال پیش

 
        @Override
        public void onBackPressed() {
          
            if (webView.canGoBack()) {
                webView.goBack();
            } else {
                super.onBackPressed();
            }
        }

نظرات

Criss 11 سال پیش
این قسمت در کدتون رو حذف کنید و تست کنید < super.onBackPressed(); کلا کد های مربوط به Super رو بردارید < و تست کنید
Eclipse 11 سال پیش

این کد مثل کد بالا عمل میکنه، من از این کد استفاده میکردم

   @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode)
{
case KeyEvent.KEYCODE_BACK:
if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
finish();
}
return true;
}

}
return super.onKeyDown(keyCode, event);
}

نظرات

کوثر 11 سال پیش
مجدد این کد هم تست کردم و جواب نداد.نمیدونم شاید دوستان منظورمو متوجه نمیشن.من با تگ a دارم توی صفحات html پروژم جا به جا میشم حالا مشکلم اینه که میخوام با زدن کلید back گوشی دوباره به اون صفحه html اصلیه برگردم نه اکتیویتی.وب ویو هم از روش ساخت پروژه کتاب استاد استفاده کردم.اصلا چنین چیزی که میخوام شدنی هست؟
کوثر 11 سال پیش
البته دوستان در روش استاد برای نمایش html من از روش webView استفاده کردم نه textview !!!!
Eclipse 11 سال پیش

در پایین تمام کد های مربوط به پروژه خودم که یک اکتیویتی برای لود کردن صفحات html هست رو گذاشتم، در اینجا از webview استفاده شده و با زدن دکمه ی برگشت ، از صفحه ی فعلی در html به صفحه ی قبلی در html برمیگرده، برای اطمینان از صحت عملکرد برنامه ابتدا برنامه رو از روی امولاتور حذف کنید و دوباره نصب کنید ، و یا روی گوشی امتحان کنید.

 public class MainActivity extends Activity {

private static final String URL = "file:///android_asset/index.html";

private WebView mWebView;


@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setDisplayZoomControls(false);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setRenderPriority(RenderPriority.HIGH);
mWebView.setScrollbarFadingEnabled(true);
mWebView.getSettings().setLoadsImagesAutomatically(true);

mWebView.loadUrl(URL);
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode)
{
case KeyEvent.KEYCODE_BACK:
if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
finish();
}
return true;
}

}
return super.onKeyDown(keyCode, event);
}
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .