小编hor*_*ste的帖子

Android Webview,设置长链单独启用链接?

与Chrome和Firefox等其他浏览器类似,我需要用户长按链接然后显示上下文菜单,但如果他们长时间点击某些内容并且它不是链接则不执行任何操作.

使用registerForContextMenu(myWebView);允许长按任何我不想要的对象.因此,我认为需要过滤对象registerForContextMenu(myWebView);或解析html中的链接看起来有点过分.我也尝试过覆盖shouldOverrideUrlLoading方法:

private boolean isLongClicked = false;  

this.webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
                  if(isLongCLicked){
                          //do something
                     }else
                view.loadUrl(url);

            return true;
        }

    });

    webView.setOnLongClickListener(new OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                        isLongClicked = true;
                    forumView.performClick();
                        isLongCLicked = false;
                    return false;
                }
            });
Run Code Online (Sandbox Code Playgroud)

我已经看过这个线程在WebView中启用longClick但它没有帮助我.我尝试实施它,但我得到一个力量关闭.

import android.content.Context;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.webkit.WebView;

public class WebViewSub extends WebView {


    public WebViewSub(Context context) {
        super(context);
        // TODO Auto-generated constructor stub …
Run Code Online (Sandbox Code Playgroud)

java android webview

14
推荐指数
1
解决办法
5452
查看次数

枚举是否比公共静态最终常量更难维护?

我最近和朋友讨论了枚举与公共静态最终常量.我告诉他公共静态最终常量比枚举更易于维护,有时更快(android开发人员文档确认这一点),也更方便.我还说过在使用枚举时你也失去了功能:

  1. 你无法扩展枚举.
  2. 您无法实例化枚举.

然后,他说如果你需要实例化或扩展枚举,你不应该使用枚举.然后我回答说这就是为什么我们应该只使用常量,因为它更易于维护; 如果中间项目需要实例化枚举或扩展它,该怎么办?然后我们必须改变一切.

我演示了枚举与常量的示例来说明我的观点:

public enum WeekDay {
/*
 * We will start at 1 for demonstration
 */
SUNDAY("Sunday", 1), MONDAY("Monday", 2), TUESDAY("Tuesday", 3), WEDNESDAY(
        "Wednesday", 4), THURSDAY("Thursday", 5), FRIDAY("Friday", 6), SATURDAY(
        "Saturday", 7);
/*
 * Notice we cannot do this...This is where enums fail.
 */
// LUNES("lunes",1), MARTES("martes",2);

private String dayName;
private int dayIndex;

private WeekDay(String dayName, int dayIndex) {
    this.dayName = dayName;
    this.dayIndex = dayIndex;
}

public String getDayName() {
    return dayName;
}

public void setDayName(String …
Run Code Online (Sandbox Code Playgroud)

java maintainability performance enums constants

6
推荐指数
2
解决办法
3081
查看次数

<使用Jsoup解析html时缺少输入值?

我试图用Jsoup废弃网页.Jsoup似乎没有<input像Chrome那样捕获元素.

它缺少这些值:

<input type=?"hidden" id=?"fileId" value=?"3168935269">
<input type=?"hidden" id=?"secondsLeft" value=?"20">??
Run Code Online (Sandbox Code Playgroud)

使用Jsoup我提取了这些元素:

<input type="hidden" class="jsItemDirId" value="yRg1N-QP" />

<input type="hidden" class="jsItemFileId" value="i-EbooI0" />

<input type="hidden" id="fbAppId" value="255519317820035" />

<input type="hidden" id="sPrefix" value="http://search.4shared.com" />

<input type="hidden" class="sLink file" value="/q/CCAD/1" />

<input type="hidden" class="sLink video" value="/q/CCQD/1/video" />

<input type="hidden" class="sLink music" value="/q/CCQD/1/music" />

<input type="hidden" class="sLink photo" value="/q/CCQD/1/photo" />

<input type="hidden" class="sLink games" value="/q/CCQD/1/game" />

<input type="hidden" class="sLink book" value="/q/CCQD/1/books_office" />

<input type="hidden" class="sLink featured_videos" value="/q/CCQD/1/video" />

<input type="hidden" id="sBreadcrumbsPhrase" value="Searching" /> …
Run Code Online (Sandbox Code Playgroud)

html java jsoup

0
推荐指数
1
解决办法
3287
查看次数

标签 统计

java ×3

android ×1

constants ×1

enums ×1

html ×1

jsoup ×1

maintainability ×1

performance ×1

webview ×1