问题列表 - 第83251页

通过Thread在TextView中闪烁光标

我想在TextView中创建一个闪烁的光标..到目前为止,我得到了这个:

    myTv = (TextView)findViewById(R.id.myTv);


    //blinking Cursors Thread
    class CursorThread extends Thread 
    {
        public void run()
        {
            while (true) 
            {
                myTv.setText("|");

                try 
                {
                    sleep(1000);
                } 
                catch (InterruptedException e) 
                {}

                myTv.setText(" ");

                try 
                {
                    sleep(1000);
                } 
                catch (InterruptedException e) 
                {}
            }  
        }
    }
    CursorThread cThread = new CursorThread();
    cThread.start();
Run Code Online (Sandbox Code Playgroud)

如果我运行这个应用程序,我会崩溃.什么mi做错了?我不知道关于Threads的很多东西......哦,这个Thread当然是我的MainActivity中的一个内部类.

有人可以帮忙吗?

java multithreading android cursor

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

如何使用表达式设置属性值?

给出以下方法:

public static void SetPropertyValue(object target, string propName, object value)
{
    var propInfo = target.GetType().GetProperty(propName,
                         BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);

    if (propInfo == null)
        throw new ArgumentOutOfRangeException("propName", "Property not found on target");
    else
        propInfo.SetValue(target, value, null);
}
Run Code Online (Sandbox Code Playgroud)

如何编写它的表达式启用等效而无需为目标传递额外的参数?

为什么这样做而不是直接设置属性我可以听到你说.例如,假设我们有以下类,其属性具有公共getter但私有setter:

public class Customer 
{
   public string Title {get; private set;}
   public string Name {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我希望能够致电:

var myCustomerInstance = new Customer();
SetPropertyValue<Customer>(cust => myCustomerInstance.Title, "Mr");
Run Code Online (Sandbox Code Playgroud)

现在这里是一些示例代码.

public static void SetPropertyValue<T>(Expression<Func<T, Object>> memberLamda , object value)
{
    MemberExpression memberSelectorExpression; …
Run Code Online (Sandbox Code Playgroud)

c# linq expression

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

Pan手势干扰了UISlider

我正在尝试创建一个滑动菜单(有点像在Facebook/Twitter应用程序中),我的版本成功地使用平移手势来实现此效果.该类称为"SlideMenu".

我在我的ViewController中实例化了一个SlideMenu,然后在其上添加了一堆UI元素作为子视图,例如UISliders,UIButtons等.

问题是,平移手势似乎会干扰UISlider,因为它会滑动,但在很短的距离后停止.我在答案上找到了一段代码(手势问题:UISwipeGestureRecognizer + UISlider)但是我不确定如何实现它或者它是否适用于我的设计.

代码是这样的:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if ([touch.view isKindOfClass:[UISlider class]]) {
        // prevent recognizing touches on the slider
        return NO;
    }
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我尝试将它添加到我的SliderMenu类和我的ViewController,但没有骰子.这是怎么回事?我必须设置什么代表(如果有的话)?谢谢

iphone xcode ipad ios

13
推荐指数
1
解决办法
4465
查看次数

Symfony2生成getter/setter

我正在使用Symfony2开发一个应用程序.当尝试为BalidatzeTaldea.php实体生成getter一个setter时,问题出现了.实体sudo php app/console doctrine:generate:entities Anotatzailea/AnotatzaileaBundle的代码如下:

<?php

namespace Anotatzailea\AnotatzaileaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 *
 *@ORM\Table(name="BalidatzeTaldea")
 *@ORM\Entity
 */
class BalidatzeTaldea
{
    /**
     * @var integer $BalTalId
     *
     * @ORM\Column(name="BalTalId", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $BalTalId;

    /**
     * @ORM\OneToMany(targetEntity="Erabiltzailea", mappedBy="BalidatzeTaldea")
     */
    protected $Erabiltzaileak;

    /**
     * @var integer $ErabGaitasuna
     *
     * @ORM\Column(name="ErabGaitasuna", type="integer")
     */
    private $ErabGaitasuna;

    public function __construct()
    {
        $this->Erabiltzaileak = new ArrayCollection();
    }

}
Run Code Online (Sandbox Code Playgroud)

正确生成Entity文件夹中其他实体的Getter/Setter.我能做什么?谢谢.

getter-setter symfony doctrine-orm

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

如何呈现第二个ViewController并解除第一个

在父ViewController中使用以下代码,我想在第一个上面显示第二个视图,然后关闭第一个:

// Animates the next questionViewController using the first questionViewController
[previousView presentViewController:nextQuestionViewController animated:YES completion:nil];

// Dismiss the first questionViewController
[previousView dismissViewControllerAnimated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

运行时,会显示第二个视图,但第一个视图不会被忽略.

iphone viewcontroller

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

仅打印与正则表达式匹配的部件

echo "a b _c d _e f" | sed 's/[ ]*_[a-z]\+//g'

结果将是a b d f.

现在,我怎么能把它转过来,只打印_c _e,而不假设其余部分?

regex bash grep sed

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

python池apply_async和map_async不会阻塞完整队列

我对python很新.我正在使用多处理模块读取stdin上的文本行,以某种方式转换它们并将它们写入数据库.这是我的代码片段:

batch = []
pool = multiprocessing.Pool(20)
i = 0
for i, content in enumerate(sys.stdin):
    batch.append(content)
    if len(batch) >= 10000:
        pool.apply_async(insert, args=(batch,i+1))
        batch = []
pool.apply_async(insert, args=(batch,i))
pool.close()
pool.join()
Run Code Online (Sandbox Code Playgroud)

现在一切正常,直到我处理我输入我的python程序的巨大输入文件(数亿行).在某些时候,当我的数据库变慢时,我看到内存已满.

经过一番播放后,事实证明pool.apply_async以及pool.map_async永远不会阻塞,因此要处理的调用队列越来越大.

我的问题的正确方法是什么?我希望我能设置一个参数,一旦达到某个队列长度,就会阻塞pool.apply_async调用.Java中的AFAIR可以为ThreadPoolExecutor提供一个具有固定长度的BlockingQueue用于此目的.

谢谢!

python queue design-patterns multiprocessing python-multiprocessing

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

给定纬度和经度,计算地球凸包多边形区域

我搜索了解释和算法如何计算地球的多边形表面积.我发现了这个,
让我们说我已经得到了凸壳
[56.992666,24.126051], [58.00282,25.930147], [58.787955,25.565078], [59.4997,24.861427], [59.463678,24.711365], [59.395767,24.599837], [56.992666,24.126051]

从第二个链接第一个答案使用Python库,即使我们假设地球是球体(我是对的),第二个答案方法也不会给出相当精确的区域?如果我们假设地球是球体,我可以采取什么方法来计算面积(更便宜)?

另外,我已经查找了不同的库(geotools.org等),但在他们的文档中没有找到有关区域计算的信息.

java geocoding geography area latitude-longitude

5
推荐指数
1
解决办法
5067
查看次数

QFile :: QFile函数 - >错误:QFile :: QFile(const QFile&)'是私有的

在我的一个方法中,我需要一个QFile对象:

    void GUIsubclassKuehniGUI::LoadDirectory()   
    {
        QString loadedDirectory = QFileDialog::getExistingDirectory(this,
                                                    "/home",tr("Create Directory"),
                                                    QFileDialog::DontResolveSymlinks);
        ui.PathDirectory -> setText(loadedDirectory);

        QFileInfo GeoDat1 = loadedDirectory + "/1_geo.m4";  
        QFileInfo GeoDat2 = loadedDirectory + "/2_geo.m4";         
        QString Value;

        if (GeoDat1.exists() == true)
        {
            QFile GEO = (loadedDirectory + "/1_geo.m4");   // ERROR LINE HERE!

            if(GEO.open(QIODevice::ReadOnly | QIODevice::Text))    
            {
                QTextStream Stream (&GEO); 
                QString Text;
                do
                {
                    Text = Stream.readLine();

                    QString startWith = "start";
                    QString endWith = "stop" ;                                      
                    int start = Text.indexOf(startWith, 0, Qt::CaseInsensitive); 
                    int end = Text.indexOf(endWith, Qt::CaseInsensitive);        

                    if (start != …
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qfile

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

如何使用JAX-RS,Spring和JPA管理事务

我正在使用JAX-RS提供基于HTTP的界面来管理数据模型.数据模型存储在数据库中并通过JPA进行交互.

这允许我修改数据模型的接口以适应REST客户端,并且大多数似乎工作得很好.但是,我不确定如何处理由JAX-RS资源提供的方法需要事务的情况,这会影响JPA get,update,commit-on-tx-end模式,因为只有事务包装get操作,因此永远不会提交更新.如果单个REST操作需要多个JPA操作,我可以看到同样的问题.

由于我正在使用Spring的事务支持,显而易见的事情是@Transactional在JAX-RS资源中应用这些方法.但是,为了实现这一点,Spring需要管理JAX-RS资源的生命周期,而我所知道的使用示例在需要时通过"new"创建资源,这让我有点紧张.

我可以想到以下解决方案:

  1. 更新我的JPA方法,以原子方式从我的REST接口提供我想要做的所有事务的事务管理版本.应该工作,将事务保持在JAX-RS层之外,但是阻止了get,update,commit-on-tx-end模式,这意味着我需要创建一个非常精细的JPA接口.
  2. 注入资源对象; 但它们通常是有状态的,至少保持与之交互的对象的ID
  3. 抛弃资源层次结构,在根部注入大型无状态超级资源,从根目录管理整个层次结构; 没有凝聚力,大服务
  4. 具有注入的,无状态的,支持事务的辅助对象的层次结构,它们"遮蔽"实际资源; 资源被实例化并保存状态,但是将方法调用委托给辅助对象

有人有什么建议吗?我很可能错过了某个关键点.


更新 - 为了解决get,update,commit-on-tx-close流程周围缺少事务的问题,我可以公开EntityManager merge(object)方法并手动调用它.不整齐,但不能解决更大的问题.


更新2 @skaffman代码示例:在JPA服务层,注入,注释工作

public class MyEntityJPAService {
...
@Transactional(readOnly=true) // do in transaction
public MyEntity getMyEntity(final String id) {
    return em.find(MyEntity.class, id);
}
Run Code Online (Sandbox Code Playgroud)

在JAX-RS资源中,由new创建,没有事务

public class MyEntityResource {
...
private MyEntityJPAService jpa;
...
@Transactional // not injected so not effective
public void updateMyEntity(final String id, final MyEntityRepresentation rep) {
    MyEntity entity = jpa.getMyEntity(id);
    MyEntity.setSomeField(rep.getSomeField());
    // no transaction commit, change not saved...
}
Run Code Online (Sandbox Code Playgroud)

spring jpa transactions jax-rs

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