相关疑难解决方法(0)

为什么MotionEvent模拟不起作用?

在练习应用程序的其中一个视图中,我尝试以编程方式执行文本选择.

我能够(以编程方式)输入"文本选择模式",它由视图左上角的CursorControllers(AKA句柄)可视地指示.

如果我手动拖动右边的CursorController,然后再次单击它(在模拟器中),它按预期工作(完美),显示一条简短的消息:"文本复制到剪贴板".

但是当我尝试以编程方式拖动正确的CursorController时,没有任何反应.

我尝试这样做的方法是模拟MotionEvent.在视图中,我打电话给:

  event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, x, y, 0);
  MainActivity.onTouch(this, event);
Run Code Online (Sandbox Code Playgroud)

在MainActivity中我当然实现了OnTouchListener:

@Override
public boolean onTouch(View v, MotionEvent event) { // called BEFORE button's onTouchEvent()
    Log.v("MainActivity::onTouch()", describeEvent(v, event));
    switch (event.getAction()) { 
        case MotionEvent.ACTION_DOWN: 
        case MotionEvent.ACTION_UP: 
            if (!v.hasFocus()) { 
                v.requestFocus(); 
             } 
             break; 
    } 
    return false; 
}
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,仅仅从onTouch返回'false',Android就会继续寻找另一个UI对象来使用MotionEvent对象,最终到达我的视野.

为什么不这样呢?

我必须遗漏一些非常基本的东西......

events android touch textselection

6
推荐指数
1
解决办法
4105
查看次数

点击标记时,我想点击它3次

Android上的地图标记存在问题,似乎无法修复它.解决方法是点击地图标记3次,它将正确打开带有图像的标注/注释.

我怎么能以编程方式做到这一点?每次用户点击时,我想点击标记3次.

<MapView.Marker
  key={marker.key}
  coordinate={marker.latlng}
  title={marker.title}
  description={marker.description}
>
  <MapView.Callout style={styles.annotation}>
    <Image
      key={marker.key}
      source={{ uri: marker.image }}
      style={styles.thumbnail}
    />
  </MapView.Callout>
</MapView.Marker>
Run Code Online (Sandbox Code Playgroud)

react-native react-native-maps

3
推荐指数
1
解决办法
469
查看次数