我有一个ViewPager
显示片段的页面.每个片段都是显示脱机网站的WebView.其中一些Web视图中包含javascript滑动事件以使其正常工作.
我想实现如果webview没有滑动事件(在javascript中),那么触摸事件被传递到ViewPager
,如果不是它被webview消耗.
我试过覆盖ViewPagers
@Override
public boolean onInterceptTouchEvent(MotionEvent event)
{
return (this.swipeable) ? super.onInterceptTouchEvent(event) : false;
}
Run Code Online (Sandbox Code Playgroud)
然而,这阻止了可ViewPager
滑动(如预期),但也停止了滑动事件到达webview,所以我有两个不希望的结果.
是否有任何方法将触摸事件传递给webView然后如果它没有被消耗在片段中传递给ViewPager
?
万一我犯了错误,我MyViewPager
有代码:
public class MyViewPager extends ViewPager implements GestureDetector.OnGestureListener
{
private static final String TAG = MyViewPager.class.getSimpleName();
private boolean swipeable = true;
private float lastX = 0;
private long lastTime = 0 ;
private GestureDetector mGestureDetector;
private boolean mScrolling = false;
public MyViewPager(Context context) {
super(context);
mGestureDetector = new GestureDetector(context, this);
}
public …
Run Code Online (Sandbox Code Playgroud) 我是OpenLayers的新手,我正在寻找一些帮助在地图上绘制线条,我一直在尝试从各种不同的帖子中绘制LineStrings的各种东西,但我无法让它工作!我只需要弄清楚如何在坐标之间画一条线.
继承了我试过但没有用的一些代码:
var points = [
new ol.geom.Point([78.65, -32.65]),
new ol.geom.Point([-98.65, 12.65])
];
var featureLine = new ol.Feature({
geometry: new ol.geom.LineString(points)
});
var sourceLine = new ol.source.Vector({
features: [featureLine]
});
var vectorLine = new ol.layer.Vector({
source: sourceLine
});
map.addLayer(vectorLine);
Run Code Online (Sandbox Code Playgroud)
我也试过这个但无济于事:
var layerLine = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new ol.Feature({
geometry: new ol.geom.LineString(points, 'XY'),
name: 'Line'
})]
}),
});
map.addLayer(vectorLine);
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?或者告诉我哪里出错了?
编辑:感谢Jonatas,工作代码如下所示:
var coordinates = [[78.65, -32.65], [-98.65, 12.65]];
var layerLines = new ol.layer.Vector({
source: new ol.source.Vector({
features: [new …
Run Code Online (Sandbox Code Playgroud) 我开始在Kotlin工作,我需要解析一个长的十六进制字符串,这在java中可以完成
Long.parseLong("ED05265A", 16);
Run Code Online (Sandbox Code Playgroud)
虽然我能找到,但我在Kotlin找不到任何东西
val i = "2".toLong()
Run Code Online (Sandbox Code Playgroud)
这不是我要找的!
在我从头开始编写任何内容之前,是否有内置函数?
我有一个使用Fragments制作的Android应用程序
我使用以下代码隐藏屏幕顶部和底部的条形图.
@Override
protected void onResume() {
super.onResume();
isInBackground = false;
if(null == getFragmentManager().findFragmentById(R.id.content_container))
{
getFragmentManager().beginTransaction().add(R.id.content_container,new PresenterFragment(), PresenterFragment.FRAG_TAG).commit();
}
if(Build.VERSION.SDK_INT >=19)
{
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用GLKView将图像放入UITableViewCell来绘制图像.
我在故事板中有一个原型单元,我有一个GLKView.它没有选中Enable setNeedsDisplay.
原型单元有一个名为PhotoTableViewCell的自定义类
import UIKit
import GLKit
class PhotoTableViewCell: UITableViewCell {
var eaglContext:EAGLContext!
var ciContext:CIContext!
var myImage:CIImage!
@IBOutlet weak var photoGlView: GLKView!
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var cameraLabel: UILabel!
@IBOutlet weak var notesLabel: UILabel!
override func layoutSubviews() {
self.photoGlView.delegate = self
}
}
extension PhotoTableViewCell: GLKViewDelegate {
override func draw(_ rect: CGRect) {
let drawableRectSize = CGSize(width: 200, height: 200)// width: photoGlView.drawableWidth, height: photoGlView.drawableHeight)
let drawableRect = CGRect(origin: CGPoint.zero, size: drawableRectSize)
print("rect ->\(drawableRect)")
print("rect size -> …
Run Code Online (Sandbox Code Playgroud) 我有一个iOS应用程序,其中包含几个UITableViews,所有这些都按预期工作.我升级应用程序以处理iOS8
从那时起,我遇到了一个问题,即将自定义单元格加载到表格视图中,谁的笔尖在ib中选中了"使用自动布局"的框.然后我在我的自定义单元格中取消选中所有这些,从那时起,我所有UITableViews的单元格不仅不调用didSelectRowAtIndex路径方法,而且在触摸时不会突出显示.
我通过添加检查所有单元格是否处于活动状态
if(cell.userInteractionEnabled){NSLog(@"is enabled");}else{NSLog(@"is not enabled");}
Run Code Online (Sandbox Code Playgroud)
所有已加载的单元格写入"已启用"到日志中
我通过故事板中的ib设置委托和数据源,所有这些都在我更改"使用自动布局"并升级到iOS 8上运行之前有效.
我错过了什么?
这是我创建单元格的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"TableCellWithNumberCellIdentifier";
if( events.count>indexPath.row &&[[[events objectAtIndex:indexPath.row] objectForKey:@"tag"] integerValue] == -1)
{
EventsMonthSeparator *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell.translatesAutoresizingMaskIntoConstraints=NO;
cell = (EventsMonthSeparator *)[EventsMonthSeparator cellFromNibNamed:@"EventsMonthSeparator"];
cell.date.text=[[events objectAtIndex:indexPath.row] objectForKey:@"date"];
[Functions setFontFamily:@"Neutra Display" forView:cell andSubView:YES];
if(cell.userInteractionEnabled){NSLog(@"is enabled");}else{NSLog(@"is not enabled");}
}
return cell;
}else
{
eventsRow *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell.translatesAutoresizingMaskIntoConstraints=NO;
cell = (eventsRow …
Run Code Online (Sandbox Code Playgroud) 我正在为照片网站构建上传器,大多数上传的照片的类型为1232132_1231231_12.jpg。当我运行pathinfo()时,得到扩展的空白输出。
这是我的代码
$target_dir = "Photos/";
$species = filter_input(INPUT_POST, 'species');
$country = filter_input(INPUT_POST, 'country');
$type= filter_input(INPUT_POST, 'type');
include_once 'connection.php';
echo $target_dir . basename($_FILES["file"]["name"]);
for($a=0;$a<count($_FILES['file']['tmp_name']);$a++)
{
$target_file = $target_dir . basename($_FILES["file"]["name"][$a]);
$imageFileType=pathinfo($target_file, PATHINFO_EXTENSION);
var_dump(pathinfo($target_file));
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
{
echo "<br> Sorry, only JPG, JPEG, PNG & GIF files are allowed. your file is a $imageFileType <br>";
}
}
Run Code Online (Sandbox Code Playgroud)
照片/ 2014-02-21 18.19.08.jpg
echo $target-file;
Run Code Online (Sandbox Code Playgroud)
给出此输出Photos / 2014-02-21 18.19.08.jpg
对于var_dump,它被回显到屏幕上,array(3){[“ dirname”] …
我有一个使用Mockito模拟的暂停函数,但它返回null
两个项目都使用
'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0'
Run Code Online (Sandbox Code Playgroud)
例子1
这是我的测试中模拟返回null
@Test
fun `when gps not enabled observer is notified`() = runBlocking {
// arrange
`when`(suspendingLocationService.getCurrentLocation()).thenReturn(result) // <- when called this returns null
// act
presenter.onStartShopButtonClick()
// assert
verify(view).observer
verify(observer).onPrepareShop()
}
Run Code Online (Sandbox Code Playgroud)
我的演示者中有以下实现
override suspend fun onStartShopButtonClick() {
val result = suspendingLocationService.getCurrentLocation() // <- in my test result is null!!!!!!
view?.apply {
observer?.onPrepareShop()
when {
result.hasGivenPermission == false -> observer?.onStartShop(StoreData(), APIError(APIError.ErrorType.NO_PERMISSION))
result.hasGPSEnabled == false -> observer?.onStartShop(StoreData(), APIError(APIError.ErrorType.GPS_NOT_ENABLED))
result.latitude != null && result.longitude != null ->
storeLocationService.getCurrentStore(result.latitude, result.longitude) …
Run Code Online (Sandbox Code Playgroud) 我正在使用 android ,它在 android 应用程序中MediaMetaDataRetriever
实现。AutoCloseable
我有下面的代码
try (final MediaMetadataRetriever retriever = new MediaMetadataRetriever()) {\n retriever.setDataSource(videoUri.getPath());\n return retriever.getFrameAtTime(10, getFrameOption());\n}\n
Run Code Online (Sandbox Code Playgroud)\n最小SDK > 21
\n但我遇到了以下崩溃
\nNo virtual method close()V in class Landroid/media/MediaMetadataRetriever; or its super classes (declaration of \xe2\x80\x98android.media.MediaMetadataRetriever\xe2\x80\x99 appears in /system/framework/framework.jar
如果MediaMetadataRetriever implements AutoCloseable
我有一个应用程序,使用FMDatabase插入用户收集的数据和从Web下载的一些数据.由于对数据库的同时请求太多,我目前正在崩溃.
我想通过我的应用程序并将FMDatabaseQueue添加到我的所有数据库操作中,但是我需要一个队列用于整个应用程序,因为我有从Web下载数据并将其插入数据库的后台类,我必须访问数据库,以填充用户看到的UITableView.
所以我的问题是你可以制作一个在所有类中引用的静态FMDatabaseQueue吗?
我的第二个问题是我的查询目前的格式是否为;
FMResultset *result= [[databaseModel sharedInstance]executeQuery:@"SELECT * FROM TABLE1"];
if(![result next]){
[[databaseModel sharedInstance]executeUpdate:@"UPDATE TABLE1 SET foo=bar where 1;"];
Run Code Online (Sandbox Code Playgroud)
这会变成吗?
[dbQueue inDatabase(FMdatabase db) ^{ //dbQueue is declared statically
FMResultset *result= [[databaseModel sharedInstance]executeQuery:@"SELECT * FROM TABLE1"];
if(![result next]){
[[databaseModel sharedInstance]executeUpdate:@"UPDATE TABLE1 SET foo=bar where 1;"];
}
}];
Run Code Online (Sandbox Code Playgroud)
任何建议,指向进一步阅读或博客将非常感谢,谢谢提前标记
我试图将我的登录脚本从mysql更改为PDO.对于我的其余部分,所有接缝都要远离这些部分,我只是不明白为什么.
我有以下代码
...
$pasword=md5($_POST['password']);
$email=$_POST['email'];
....
$query ="SELECT id FROM guests WHERE email=':eml' AND password =':pwd' AND lead_guest=17";
// $param2=array(':eml'=>$email,':pwd'=>$pasword);
$state=$dbh->prepare($query);
$state->bindParam(':eml',$email);
$state->bindParam(':pwd',$pasword);
$state->execute();
Run Code Online (Sandbox Code Playgroud)
在它的当前状态,它将返回行数0(它不应该),我也尝试过
//$state->bindParam(':eml',$email);
//$state->bindParam(':pwd',$pasword);
$state->execute($param2);
Run Code Online (Sandbox Code Playgroud)
它还返回0的行数.
当它们出来时变量$email
并且$pasword
是正确的echo
,并且脚本使用mysql_
函数完美地工作.
该$dbh
变量是在头创建,并用$query ="select id where 1"
它按预期工作.
我确信(虽然可能是错的)我将问题缩小到state->bindParam()
脚本的一部分.我完全失去了为什么这部分剧本没有任何建议热烈欢迎.
我有一个非常古老的项目,它最初是一个 eclipse 项目,现在是 gradle/android studio
目前我只有一个存储在路径中的测试
src/test/java/
我有以下gradle文件
buildscript {
ext.kotlin_version = '1.2.41'
ext.latest_google_version = '27.1.1'
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://dl.bintray.com/jetbrains/anko' }
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'io.fabric.tools:gradle:1.24.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
kotlin {
experimental {
coroutines 'enable'
}
}
repositories {
maven { url "https://jitpack.io" }
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://dl.bintray.com/jetbrains/anko' …
Run Code Online (Sandbox Code Playgroud) 我已经下载了Xcode 5预览版
我无法使用预览版本将我的应用程序提交到应用程序商店,如果我尝试收到一条消息,说应用程序商店不接受来自此版本的Xcode的应用程序.
如果我使用旧版本的Xcode(我认为是v4.5),那么它会出现一个错误,即使用更新版本的Xcode.
我试过卸载预览但没有成功,我做错了什么?
android ×4
ios ×4
kotlin ×3
javascript ×2
junit ×2
mockito ×2
php ×2
uitableview ×2
xcode ×2
app-store ×1
eaglcontext ×1
fmdb ×1
glkview ×1
hex ×1
iphone ×1
java ×1
keyboard ×1
long-integer ×1
mysql ×1
objective-c ×1
openlayers-3 ×1
pdo ×1
sqlite ×1
vector ×1
webview ×1