Ich weiß, diese Frage wurde schon oft gefragt, und ich habe viele dieser Antworten versucht, aber nichts funktioniert für mich, also hier ist meine Frage. Ich habe Android-App, die WebView verwendet, früher war ich mit WebView in Aktivität, in dem Hinzufügen Aktion Aktion, die aktuelle URL Link der Seite teilt war einfach, aber in der letzten Aktualisierung habe ich WebView in Fragment hinzugefügt, und jetzt kann ich nicht hinzufügen Aktion in diesem Fragment teilen. Wie ich Knopf hinzugefügt habe, der auf der Aktionsleiste zeigt, aber es reagiert nicht auf Klick. Folgende sind meine Codes.Share-Aktion hinzufügen, um android WebView Fragment
main.xml
<item android:id="@+id/menu_item_share"
android:icon="@drawable/ic_menu_share"
android:title="@string/menu_item_share"
app:showAsAction="always"/>
WebviewFragment.java
public class WebviewFragment extends Fragment {
ProgressBar bar;
WebView myWebView;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message message) {
switch (message.what) {
case 1:{
webViewGoBack();
}break;
}
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_webview, container, false);
;
myWebView = (WebView) v.findViewById(R.id.WebView);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.loadUrl("http://www.google.com/");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
//improve webView performance
myWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
myWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
myWebView.getSettings().setAppCacheEnabled(true);
myWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webSettings.setDomStorageEnabled(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);
webSettings.setSavePassword(true);
webSettings.setSaveFormData(true);
webSettings.setEnableSmoothTransition(true);
myWebView.setWebViewClient(new WebViewClient());
}
Mitbenutzung des in MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
//share app content
case R.id.menu_item_share: {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, myWebView.getUrl());
startActivity(Intent.createChooser(shareIntent, "Share This Website!"));
shareIntent.setPackage("com.whatsapp");
break; //or, return true;
}
helfen Bitte mit der Arbeitslösung.
Es funktionierte, einfachste und genaue Lösung, die ich nach Hunderten von Suchen habe. –