مشکل در لینک کردن وب ویوها
سلام همگی خسته نباشین.دوستان من توی پروژم از چندتا وب ویو استفاده کردم(مثل روش استاد)حالا توی یکی از این صفحه ها از چندتا لینک استفاده کردم که لینک میشه به یک صفحه دیگه(مثلا با کلیلک روی قسمتی از متن در session1 منتقل میشم به session2) حالا وقتی توی session2 هستم میخوام با زدن کلید back گوشی دوباره برگردم به همون session1 که الان این اتفاق نمیوفتد و برمیگردم به اکتیویتیم.دققا نمیدونم توی onBackPressed چی باید بزنم که به این صورت نباشه.کسی اینکارو کرده راهنمایی کرده ممنون میشم.
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
این کد مثل کد بالا عمل میکنه، من از این کد استفاده میکردم
@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);
}
در پایین تمام کد های مربوط به پروژه خودم که یک اکتیویتی برای لود کردن صفحات 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);
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .