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);
}
}
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;
}
}
}
Код: Выделить всё
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 работает только один раз.
Также пробовал onPageFinished и функцию оценки.< /p>
Но в моем случае ничего не помогло. Я не могу понять, в чем дело.
Подробнее здесь: https://stackoverflow.com/questions/439 ... ork-always
Мобильная версия