gpt4 book ai didi

java - 当您更改触摸位置时,为什么没有 reload() WebView

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:36 25 4
gpt4 key购买 nike

晚上好!为什么不通过改变触摸位置来Reload()。毕竟,代码看起来是正确的。从代码中,我想你会明白我需要什么。 Preferred 是解决这个问题的最简单方法,我只是不懂Java。

package com.example.pack.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Timer;
import java.util.TimerTask;


public class MainActivity extends ActionBarActivity implements View.OnTouchListener {

float mX;
float mY;
float Start;
float Fin;
View rl;
WebView web;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

web = (WebView) findViewById(R.id.webView2);
web.loadUrl("http://example.com/page.html");
web.getSettings().setJavaScriptEnabled(true);

if (Start < Fin) {
new Timer().schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
web.reload();
}}, 1000, 1000);
}

rl = (View) findViewById(R.id.rl);
rl.setOnTouchListener(this);
}

@Override
public boolean onTouch(View v, MotionEvent event) {
mX = event.getX();
mY = event.getY();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Start = mY;
break;
case MotionEvent.ACTION_UP:
Fin = mY;
break;
}
return true;
}
}

提前谢谢大家。

最佳答案

这里有一些问题。当您不为 float 指定默认值时,它们默认为 0.0,因此在您的情况下 StartFin两者都从 0.0 开始。在 Android 中 onCreate在创建 Activity 时调用,这意味着它仅在您启动应用程序时被调用一次。这意味着当您的 onCreate称为Start和Fin都是0.0,所以Start < Fin为 false,因此您永远不会创建计时器。

关于java - 当您更改触摸位置时,为什么没有 reload() WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35779527/

25 4 0
文章推荐: java - 如何作为控制台和窗口 GUI 应用程序运行
文章推荐: html - Drupal 中影响表的样式
文章推荐: c - 如何使用设备树在一个 Linux 内核驱动程序中映射两个设备的资源?
文章推荐: css - 悬停在 上方时将光标变成手