Java 更改触摸位置时,为什么不重新加载()WebView
晚上好!为什么不通过更改触摸位置来重新加载()。毕竟,代码似乎是正确的。从代码中,我想你会明白我需要什么。首选是解决这个问题的最简单方法,我只是不懂JavaJava 更改触摸位置时,为什么不重新加载()WebView,java,android,Java,Android,晚上好!为什么不通过更改触摸位置来重新加载()。毕竟,代码似乎是正确的。从代码中,我想你会明白我需要什么。首选是解决这个问题的最简单方法,我只是不懂Java package com.example.pack.myapplication; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.Vi
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;
}
}
package com.example.pack.myapplication;
导入android.support.v7.app.ActionBarActivity;
导入android.os.Bundle;
导入android.view.MotionEvent;
导入android.view.view;
导入android.webkit.WebView;
导入android.widget.TextView;
导入android.widget.Toast;
导入java.util.Timer;
导入java.util.TimerTask;
公共类MainActivity扩展了ActionBarActivity实现了View.OnTouchListener{
浮动mX;
漂浮我的心;
浮动启动;
浮鳍;
视图rl;
网络视图;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web=(WebView)findviewbyd(R.id.webView2);
web.loadUrl(“http://example.com/page.html");
web.getSettings().setJavaScriptEnabled(true);
如果(开始<结束){
新建计时器()。计划(新建计时器任务()){
@凌驾
公开募捐{
//TODO自动生成的方法存根
web.reload();
}}, 1000, 1000);
}
rl=(视图)findViewById(R.id.rl);
rl.setOnTouchListener(本);
}
@凌驾
公共布尔onTouch(视图v,运动事件){
mX=event.getX();
mY=event.getY();
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
开始=我的;
打破
case MotionEvent.ACTION\u UP:
Fin=我的;
打破
}
返回true;
}
}
提前谢谢大家。这里有一些问题。如果不将默认值指定给浮动,则默认值为0.0,因此在您的情况下,
Start
和Fin
都从0.0开始。在Android中,创建活动时会调用onCreate,这意味着在启动应用程序时只调用一次。这意味着当您的onCreate
被称为Start时,Fin都是0.0,因此Start
为false,因此您永远不会创建计时器。这里有一些问题。如果不将默认值指定给浮动,则默认值为0.0,因此在您的情况下,Start
和Fin
都从0.0开始。在Android中,创建活动时会调用onCreate,这意味着在启动应用程序时只调用一次。这意味着当您的onCreate
被调用时,Start和Fin都是0.0,因此Start
为false,因此您永远不会创建计时器。将包含计时器代码的if放在设置Start和FinNo的位置下。我不打算“写完整的代码”。我们是来帮忙的,不是为你做的。你什么都不为我做。您准备好编写工作代码了吗。如果我自己能解决这个问题,我就不会在这里写信了。我想用3个小时来改变一些东西,但在洗牌中。我想了解整个机制是如何运作的。如果你写代码,我或多或少能弄清楚是什么。因此(provessionalnymi提示)我不明白。谢谢。将包含计时器代码的if放在设置Start和FinNo的位置下。我不打算“写完整的代码”。我们是来帮忙的,不是为你做的。你什么都不为我做。您准备好编写工作代码了吗。如果我自己能解决这个问题,我就不会在这里写信了。我想用3个小时来改变一些东西,但在洗牌中。我想了解整个机制是如何运作的。如果你写代码,我或多或少能弄清楚是什么。因此(provessionalnymi提示)我不明白。非常感谢。