2014-01-27 4 views
1

Я работаю над проектом webview, в котором у меня нет строки url, поэтому я хочу кнопку в макете webview, которая скопировала бы текущий URL-адрес страницы в буфере обмена так, чтобы я могу вставить его в другое место.Кнопка для копирования url-webview

Благодаря

ниже мой код -

package com.Exmple.avd; 

пакет com.ApkEngine.avd;

import android.app.Activity; 
import android.content.ClipData; 
import android.content.ClipboardManager; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Button; 

public class Search extends Activity { 

private WebView mWebView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_search); 
    Button button = (Button) findViewById(R.id.button1); 

    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View view) { 

     String url = mWebView.getUrl(); 
     ClipboardManager clipboard = (ClipboardManager)  getSystemService(CLIPBOARD_SERVICE); 
     ClipData clip = ClipData.newPlainText("label", url); 
     clipboard.setPrimaryClip(clip); 

     } 

    }); 
    mWebView = (WebView) findViewById(R.id.wvsearch); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.setWebViewClient(new HelloWebViewClient()); 
    mWebView.getSettings().setBuiltInZoomControls(true); 
    mWebView.loadUrl("http://www.google.com"); 
} 
private class HelloWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView webview, String url) 
{ 


webview.loadUrl(url); 
return true; 
} 
} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 

if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) 

{ 
mWebView.goBack(); 
return true; 
} 
return super.onKeyDown(keyCode, event); 


} 
} 
+0

Это хорошо. Какие-то проблемы? –

+0

Если вы не знаете, как получить текущий URL-адрес, попробуйте найти 'android webview get current url'. не знаю, как слушать кнопку нажмите кнопку поиска 'android кнопку click event' - Удачи –

+0

спасибо, я буду искать его – Apk

ответ

2
Button button = (Button) findViewById(R.id.button1); 

    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View view) { 

      String url = mWebView.getUrl(); 
      if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) { 
       android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
       clipboard.setText(url); 
      } else { 
       android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
       android.content.ClipData clip = android.content.ClipData.newPlainText("text label", url); 
       clipboard.setPrimaryClip(clip); 
      } 
     } 

    }); 

OnClick импорта: вставьте его в верхней части файла Java перезапустите

import android.view.View.OnClickListener; 
+1

это не работает, все его копии являются «текст для клипа» – Apk

+0

Код отредактирован, попробуйте сейчас , Также я бы посоветовал вам прочитать некоторые уроки – Aashir

0
public void copy_paste(View view) { 
    Intent intent = new Intent(this, Search.class); 
    String webUrl = mWebView.getUrl(); 
} 
Смежные вопросы