记单词工具拓展引起的选中即复制想法

最近一直在考虑如何有效的去扩充英语词汇量,发现China Daily这个应用还不错,在里面点一下,就可以获取到点击的单词,并给出翻译,但是里面的生词不太方便记下来,如果提供一个接口,保存点击过的单词,再保存到类似有道词典这样提供单词本的工具中,将很有用,对其获取的单词进行截取,这是一个思路。

后来,使用webView进行了实验,发现也可以访问网页,如果在这里,不用切换页面,对选中的单词进行保存,如写到一个txt中,也是一个不错的方法。

考虑对选中的单词进行获取保存,这是个高效的方法,现在还没有找到这个实现方法,

这个时候,发现,如果系统支持选中即默认复制,将让用户不再去点击复制,会是一个很有用的设计,因为用户选中文本的目的,极大的可能就是去复制,选中即复制会提供很大的方便。


下面是个获取剪切板内容的例子


package com.example.webtest;


import android.os.Bundle;
import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;


public class MainActivity extends Activity {


private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webView1);
mWebView.loadUrl("http://www.chinadaily.com.cn");//
//webView
// WebSettings webSettings =   mWebView .getSettings();       
// webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放
// webSettings.setLoadWithOverviewMode(true);


// mWebView.setOnDragListener(l)
// mWebView.getContext().getString(resId)
mWebView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {

Log.d("test614,", "long press");
ClipboardManager cm =(ClipboardManager) getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);
            
          Log.d("test614",  "str=" + cm.getPrimaryClip().toString());
          Toast.makeText(getApplicationContext(), cm.getPrimaryClip().toString(),
          Toast.LENGTH_SHORT).show();
return false;
}
});
}


@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if(keyCode==KeyEvent.KEYCODE_BACK)
        {
            if(mWebView.canGoBack())
            {
            mWebView.goBack();//返回上一页面
                return true;
            }
            else
            {
                System.exit(0);//退出程序
            }
        }
        return super.onKeyDown(keyCode, event);
    }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值