问题列表 - 第35870页

后台任务,进度对话框,方向更改 - 是否有100%可行的解决方案?

我在后台线程(我使用AsyncTask)下载了一些来自互联网的数据,并在下载时显示进度对话框.方向更改,Activity重新启动,然后我的AsyncTask完成 - 我想关闭progess对话框并启动一个新的Activity.但是调用dismissDialog有时会抛出一个异常(可能是因为Activity被销毁而且还没有启动新的Activity).

处理此类问题的最佳方法是什么(从后台线程更新UI即使用户更改方向也能正常工作)?谷歌有人提供了一些"官方解决方案"吗?

android orientation android-orientation

233
推荐指数
4
解决办法
6万
查看次数

使用类来组织代码?

目前我的Form1代码非常繁重,主要是菜单和控件事件.我想做的一件事是以某种方式组织它,所以我可以展开或折叠"相关代码"(在Visual Studio中).

我的第一次尝试是将与主菜单相关的代码放在一个名为"MainMenu"的嵌套类中,该类位于Form1类中,这样我就可以在不需要它时简单地折叠嵌套类. .这导致了各种各样的问题(即我找不到在这个嵌套类中设置主菜单的方法).

是否有一个更简单的解决方案,我错过了?或者有人可以解释为什么我的嵌套类想法有缺陷?

c# organization

4
推荐指数
3
解决办法
1007
查看次数

什么是"!!" 象征意味着在Ruby?

def test
!!session[:test]
end
Run Code Online (Sandbox Code Playgroud)

! - 这是做什么的?我们可以删除它,仍然认为它将工作相同吗?

ruby

4
推荐指数
1
解决办法
690
查看次数

SQL原子增量和锁定策略 - 这样安全吗?

我有一个关于SQL和锁定策略的问题.例如,假设我的网站上有图像的视图计数器.如果我有一个或类似的,请执行以下语句:

START TRANSACTION;
UPDATE images SET counter=counter+1 WHERE image_id=some_parameter;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

假设特定image_id的计数器在时间t0具有值"0".如果两个会话更新相同的图像计数器,s1和s2,在t0同时启动,那么这两个会话是否都有可能读取值'0',将其增加为'1'并且都尝试将计数器更新为'1 ',那么计数器会得到值'1'而不是'2'?

s1: begin
s1: begin
s1: read counter for image_id=15, get 0, store in temp1
s2: read counter for image_id=15, get 0, store in temp2
s1: write counter for image_id=15 to (temp1+1), which is 1 
s2: write counter for image_id=15 to (temp2+1), which is also 1
s1: commit, ok
s2: commit, ok
Run Code Online (Sandbox Code Playgroud)

结果:image_id = 15的值'1'不正确,应为2.

我的问题是:

  1. 这种情况可能吗?
  2. 如果是这样,事务隔离级别是否重要?
  3. 是否有冲突解决方案将这种冲突视为错误?
  4. 可以使用任何特殊语法以避免出现问题(例如比较和交换(CAS)或显式锁定技术)吗?

我对一般答案很感兴趣,但如果没有,我对MySql和InnoDB特定的答案感兴趣,因为我正在尝试使用这种技术在InnoDB上实现序列.

编辑:以下方案也可能,导致相同的行为.我假设我们处于隔离级别READ_COMMITED或更高级别,因此s2从事务开始获取值,尽管s1已经向计数器写入"1".

s1: begin
s1: begin
s1: read counter …
Run Code Online (Sandbox Code Playgroud)

sql locking atomic increment

43
推荐指数
2
解决办法
1万
查看次数

使用list cons运算符(a :: b)作为函数

F#允许您通过以下方式将运算符转换为函数( ):例如,(+)类型int -> int -> int.

是否可以使用list cons运算符执行此操作::

它的行为不像普通的二元运算符:

FSI> (::);;

  (::);;
  -^^

c:\temp\stdin(3,2): error FS0010: Unexpected symbol '::' in expression.
Expected ')' or other token.
Run Code Online (Sandbox Code Playgroud)

并且该List.Cons方法需要一个元组; 它并非咖喱.

(能够做到这一点很有用.例如,你可以用它来实现折叠方面的地图).

f# function operator-keyword

17
推荐指数
3
解决办法
2692
查看次数

如何将NSinteger转换为String

我想在目标c中将int转换为字符串如何做到这一点.

我的代码.

for (i=0; i<=200; i=i+10) {
    // here i want to convet the value of i into string how to do this 

}   
Run Code Online (Sandbox Code Playgroud)

提前致谢.

iphone objective-c

12
推荐指数
2
解决办法
2万
查看次数

ViewForAnnotation未被调用

我正在尝试制作地图,在那里我可以看到我当前的位置,并查看街道的名称.

到目前为止,我可以在我的地图上放一个别针,但由于某种原因,我没有得到标注.我已经在我的viewForAnnotation方法中放了一个NSLog,但它没有被调用,所以我无法测试它.

有人能帮我吗?

-(void)lat:(float)lat lon:(float)lon
{
    CLLocationCoordinate2D location;
    location.latitude = lat;
    location.longitude = lon;
    NSLog(@"Latitude: %f, Longitude: %f",location.latitude, location.longitude);
    //One location is obtained.. just zoom to that location

    MKCoordinateRegion region;
    region.center=location;
    //Set Zoom level using Span
    MKCoordinateSpan span;
    span.latitudeDelta=.005f;
    span.longitudeDelta=.005f;
    region.span=span;
    [map setRegion:region animated:TRUE];

    //MKReverseGeocoder *geocoder=[[MKReverseGeocoder alloc] initWithCoordinate:location];
    //geocoder.delegate=self;
    //[geocoder start];
    if (cPlacemark != nil) {
        [map removeAnnotation:cPlacemark];
    }
    cPlacemark=[[CustomPlacemark alloc] initWithCoordinate:location];
    cPlacemark.title = mPlacemark.thoroughfare;
    cPlacemark.subtitle = mPlacemark.locality;
    [map addAnnotation:cPlacemark];
    [cPlacemark release];

    [mLocationManager stopUpdatingLocation];
}

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id …
Run Code Online (Sandbox Code Playgroud)

objective-c

19
推荐指数
4
解决办法
1万
查看次数

SQL行到列

我在MS SQL中有以下表结构

AirQuoteID        Name        SalesValue
7                  M          49.50
7                  N          23.10
7                 +45         233.20
7                 +100        233.20
7                 +250        2333.10
Run Code Online (Sandbox Code Playgroud)

我想要一个可以返回的查询

AirQuoteID      M        N        +45        +100    +250
7               49.50    23.10    233.20     233.20   2333.10
Run Code Online (Sandbox Code Playgroud)

什么是最佳解决方案.价值观是动态的

sql t-sql sql-server pivot

4
推荐指数
1
解决办法
778
查看次数

在EditText中使用numberDecimal inputType的小数分隔符逗号(',')

inputType numberDecimalEditText使用点"" 作为小数分隔符.在欧洲,通常使用逗号','代替.即使我的语言环境设置为德语,小数分隔符仍然是'.'

有没有办法将逗号作为小数分隔符?

android android-edittext

122
推荐指数
7
解决办法
10万
查看次数

在没有主要方法的情况下使用Guice

我正在创建一个将作为jar包含的库,因此它不包含main方法.我想知道在这种情况下引导Guice的最佳做法是什么.我有一个顶级单身人士.

public class TestManager
{
    private TestManager()
    {
    }

    public static TestManager getInstance()
    {
        // construct and return singleton
    }

    public void createSomeObjects()
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

我应该在哪里引导Guice?我想在构造函数中我可以调用Guice.createInjector(new Module()); 但它不会注入createSomeObjects()中创建的任何对象.

当你没有main方法()时,有没有一种常见的方法可以做到这一点?

干杯.

java singleton guice

7
推荐指数
1
解决办法
1669
查看次数