晚上好!为什么不通过改变触摸位置来重新加载()。毕竟,代码似乎是正确的。从代码中,我认为你会理解我需要的东西。首选是解决此问题的最简单方法,我只是不懂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;
}
}
提前谢谢大家。
答案 0 :(得分:0)
这里有一些问题。如果您没有为浮点数分配默认值,则默认值为0.0,因此在您的情况下Start
和Fin
都从0.0开始。在Android onCreate
中,在创建Activity时会调用它,这意味着只有在启动app时才会调用它。这意味着当您的onCreate
被称为Start和Fin都是0.0时,Start < Fin
为假,因此您永远不会创建计时器。