如何取消或者关闭setOnTouchListener事件 20
背景:我在做一个安卓画板,有两个类,一个PaintViewextendsView,一个DrawMainActivityextendsActivity,我在第一个类里面改写...
背景:
我在做一个安卓画板,有两个类,
一个PaintView extends View,
一个 DrawMainActivity extends Activity,
我在第一个类里面改写了onTouchEvent方法,
并在第二个类里面写了一个内部类是CircleTouchListener,
是单点击按钮之后就变为画圆监听事件,
现在我想点击按钮变为画圆监听事件之后再返回画线,
这个该怎么做?
怎么调用第一个类里onTouchEvent方法?
或者怎么取消CircleTouchListener的监听? 展开
我在做一个安卓画板,有两个类,
一个PaintView extends View,
一个 DrawMainActivity extends Activity,
我在第一个类里面改写了onTouchEvent方法,
并在第二个类里面写了一个内部类是CircleTouchListener,
是单点击按钮之后就变为画圆监听事件,
现在我想点击按钮变为画圆监听事件之后再返回画线,
这个该怎么做?
怎么调用第一个类里onTouchEvent方法?
或者怎么取消CircleTouchListener的监听? 展开
1个回答
2015-06-02
展开全部
启动activity 可以使用InstrumentationTestCase
发送手机事件
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
使用android的测试功能,写一个类继承InstrumentationTestCase
然后在这个类里获得Instrumentation实例,通过它可以启动Activity,发送手机事件等
------------------------------------------------------
import android.app.Instrumentation;
import android.content.ContentResolver;
public class ActivityTest extends InstrumentationTestCase {
private Instrumentation mInst = null;
private ContentResolver mContentResolver = null;
@Override
protected void setUp() throws Exception {
super.setUp();
mInst = getInstrumentation();
mContentResolver = mInst.getContext().getContentResolver();
}
public void testStartActivity() throws Exception {
//launch activity
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String activityPackagePath = "com.android.";
intent.setClassName(activityPackagePath, TargetActivity.getClass().getName());
TargetActivity mActivity = (TargetActivity) getInstrumentation().startActivitySync(intent);
mInst.waitForIdleSync();
//send keyevent to press button
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
mInst.waitForIdleSync();
}
}
发送手机事件
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
Instrumentation.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
使用android的测试功能,写一个类继承InstrumentationTestCase
然后在这个类里获得Instrumentation实例,通过它可以启动Activity,发送手机事件等
------------------------------------------------------
import android.app.Instrumentation;
import android.content.ContentResolver;
public class ActivityTest extends InstrumentationTestCase {
private Instrumentation mInst = null;
private ContentResolver mContentResolver = null;
@Override
protected void setUp() throws Exception {
super.setUp();
mInst = getInstrumentation();
mContentResolver = mInst.getContext().getContentResolver();
}
public void testStartActivity() throws Exception {
//launch activity
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String activityPackagePath = "com.android.";
intent.setClassName(activityPackagePath, TargetActivity.getClass().getName());
TargetActivity mActivity = (TargetActivity) getInstrumentation().startActivitySync(intent);
mInst.waitForIdleSync();
//send keyevent to press button
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_DOWN);
mInst.sendCharacterSync(KeyEvent.KEYCODE_DPAD_CENTER);
mInst.waitForIdleSync();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询