我想在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中的一个内部类.
有人可以帮忙吗?
给出以下方法:
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) 我正在尝试创建一个滑动菜单(有点像在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,但没有骰子.这是怎么回事?我必须设置什么代表(如果有的话)?谢谢
我正在使用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.我能做什么?谢谢.
在父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)
运行时,会显示第二个视图,但第一个视图不会被忽略.
echo "a b _c d _e f" | sed 's/[ ]*_[a-z]\+//g'
结果将是a b d f
.
现在,我怎么能把它转过来,只打印_c _e
,而不假设其余部分?
我对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
我搜索了解释和算法如何计算地球的多边形表面积.我发现了这个,这
让我们说我已经得到了凸壳
[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等),但在他们的文档中没有找到有关区域计算的信息.
在我的一个方法中,我需要一个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) 我正在使用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"创建资源,这让我有点紧张.
我可以想到以下解决方案:
有人有什么建议吗?我很可能错过了某个关键点.
更新 - 为了解决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)