Webview.loadURL не всегда работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Webview.loadURL не всегда работает

Сообщение Anonymous »

У меня есть код веб-просмотра в oncreate и onOptionsItemSelected, который работает правильно, как показано ниже. (это мой старый код, работающий должным образом)

MainActivity.java< /strong>

Код: Выделить всё

 @Override
protected void onCreate(Bundle savedInstanceState)
{       mwebView = (WebView) findViewById(R.id.pdf_web_view);
WebSettings settings = mwebView.getSettings();
settings.setJavaScriptEnabled(true);
mwebView.setWebChromeClient(new WebChromeClient());
mwebView.loadUrl("file://" + getFilesDir() + "/index.html");
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {

case R.id.action_gotopage:

LayoutInflater layoutInflater = LayoutInflater.from(this);
View input_dialogView = layoutInflater.inflate(
R.layout.gotopage_dialogbox, null);
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Enter the page number");
alert.setView(input_dialogView);

final EditText input = (EditText) input_dialogView
.findViewById(R.id.pagenum_edit);

input.requestFocus();
input.setTextColor(Color.BLACK);

alert.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
String pg_num = input.getText().toString();

if (pg_num.equals("")) {
input.setError("Page number Required");

} else {

mwebView.loadUrl("javascript:onGotoPage("
+ pg_num + ")");

}
}

});

alert.setNegativeButton("CANCEL",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {

}
});

// create an alert dialog
AlertDialog alert1 = alert.create();

alert1.show();

return super.onOptionsItemSelected(item);

default:
return super.onOptionsItemSelected(item);
}
}
Я хочу преобразовать этот код в страницы слайдов с помощью ViewPager. Итак, у меня есть такой код (мой новый код):

MainActivity.java[/b]

Код: Выделить всё

public class Mainactivity extends AppCompatActivity {
private  int NUM_PAGES=10;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pdf_webview);

mPager = (ViewPager) findViewById(R.id.pdf_view_pager);
mPagerAdapter = new
ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int position) {
return new SlideFragment().create(position);
}

@Override
public int getCount() {
return NUM_PAGES;
}
}
}
SlideFragment.java

Код: Выделить всё

 public class SlideFragment extends Fragment {
private static final String ARG_PAGE = "page";
private int mPageNumber;
private WebView mwebView;

public static SlideFragment create(int pageNumber) {
SlideFragment fragment = new SlideFragment();
Bundle args = new Bundle();
args.putInt(ARG_PAGE, pageNumber);

fragment.setArguments(args);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPageNumber = getArguments().getInt(ARG_PAGE);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.pdf_fragment_webview, container, false);

mwebView = (WebView) findViewById(R.id.pdf_web_view);
WebSettings settings = mwebView.getSettings();
settings.setJavaScriptEnabled(true);
mwebView.setWebChromeClient(new WebChromeClient());
mwebView.loadUrl("file://" + getFilesDir() + "/index.html");
mwebView.loadUrl("javascript:onGotoPage("
+ pg_num + ")");

}
}
webview.loadURL работает только в первый раз и не работает во второй раз. Но когда он находится внутри метода onOptionsItemSelected, он работает нормально.

Я пробовал все решения из WebView, loadUrl работает только один раз.

Также пробовал onPageFinished и функцию оценки.< /p>

Но в моем случае ничего не помогло. Я не могу понять, в чем дело.

Подробнее здесь: https://stackoverflow.com/questions/439 ... ork-always
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»