小编jgm*_*jgm的帖子

ActionBar'up'按钮销毁父活动,'back'不会

我有一个相对简单的Android应用程序,其中一个Activity显示项目列表,另一个显示所选项目的详细信息.我启动list活动,这是我最重要的活动(FLAG_ACTIVITY_CLEAR_TOP用于清除调用它的登录活动):

Intent intent = new Intent(this, ListInstancesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)

并且从该活动中我对选择的项目采取行动:

Intent detailIntent = new Intent(this, ShowInstanceActivity.class);
detailIntent.putExtra(ShowInstanceFragment.ARG_ITEM_ID, id);
startActivity(detailIntent);
Run Code Online (Sandbox Code Playgroud)

一切正常,如果我使用软键"后退"按钮,那么ListInstancesActivity我会按照我的预期返回.但是,如果我按下操作栏上的后退/上移按钮,它会破坏并重新创建ListInstancesActivity.这很糟糕,因为这样做计算成本相对较高.

如何使操作栏的行为与软键相同,只返回上一个活动而不是销毁它.

应该注意的是,我正在使用动作栏的支持库版本.

我的相关部分AndroidManifest.xml

<activity
  android:name=".agenda.ListInstancesActivity"
  android:label="@string/list_instances_activity_title">
</activity>
<activity
  android:name=".agenda.ShowInstanceActivity"
  android:label="@string/show_instance_activity_title"
  android:parentActivityName=".agenda.ListInstancesActivity">
</activity>
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-actionbar-compat

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

如何获得ng-repeat中的上一项?

我有一个模板,我只想在当前项目与前一项目有不同的字段时生成一些HTML.如何访问ng-repeat中的上一项?

angularjs angularjs-ng-repeat

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

使用连续的整数范围填充List

我想要一个包含1到500范围内整数的列表.是否有一些方法可以使用Guava(或简单的Java)创建此列表,而无需遍历范围并在我自己的范围内单独添加值码?

解析度

解决方案如下(在这里发布,因为一些答案提供了正确的信息,但没有一个给出完整的解决方案):

__PRE__

结果是类型 __CODE__

java guava

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

使用Espresso更新EditText

我试图通过以下方式更新EditTextEspresso测试的一部分:

onView(allOf(withClassName(endsWith("EditText")), withText(is("Test")))).perform(clearText())
                                                                        .perform(click())
                                                                        .perform(typeText("Another test"));
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: No views in hierarchy found matching: (with class name: a string ending with "EditText" and with text: is "Test")
Run Code Online (Sandbox Code Playgroud)

通过分解测试线我可以看到这在执行之后发生clearText(),因此我假设匹配器在每个之前重新运行perform并且在第二个动作之前失败.虽然这是有道理的,但是让我对如何更新EditText使用Espresso 感到有些困惑.我该怎么做?

请注意,我无法在此方案中使用资源ID或类似信息,并且必须使用上面显示的组合来标识正确的视图.

android android-espresso

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

Eclipse格式化程序选项'.' 对齐(Java)

我希望Eclipse格式化一些调用构建器的代码,如下所示:

final Item item = new Item.Builder()
                          .name("something")
                          .field("a value")
                          .build();
Run Code Online (Sandbox Code Playgroud)

即对齐'.' 第一行的字符.我可以通过手动对齐第二行(.name("something"))来手动说服Eclipse这样做,但任何自动格式化都会破坏它.

我已经玩过了我可以在Eclipse中找到的所有各种格式化选项,但它们似乎都没有做我想要的.是否存在以这种方式布置代码的格式选项的任何想法?

java eclipse

14
推荐指数
2
解决办法
2216
查看次数

Android/Gradle espresso测试没有启动活动

我难以说服新的Android构建系统运行测试.在运行测试时,它会给出Unable to resolve activity for: Intent在其他问题中讨论过的错误,但是没有任何内容可以解决我的问题.

我已将其剥离,以便我的测试包完全不依赖于我的主程序包(com.wealdtech.app),但仍然存在启动活动的问题.

我的测试活动:

package com.wealdtech.test;

import android.app.Activity;
import android.os.Bundle;

public class TileLayoutTestActivity extends Activity
{
  @Override
  public void onCreate(final Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
  }
}
Run Code Online (Sandbox Code Playgroud)

我的测试班:

package com.wealdtech.test;

import android.test.ActivityInstrumentationTestCase2;

public class TileLayoutTest extends ActivityInstrumentationTestCase2<TileLayoutTestActivity>
{
  public TileLayoutTest()
  {
    super(TileLayoutTestActivity.class);
  }

  @Override
  protected void setUp() throws Exception
  {
    super.setUp();
    setActivityInitialTouchMode(false);
  }

  public void testNull()
  {
    final TileLayoutTestActivity activity = getActivity();
    activity.finish();
  }
Run Code Online (Sandbox Code Playgroud)

build.gradle的相关部分:

apply plugin: 'android-library'

android {
  compileSdkVersion 19
  buildToolsVersion …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin android-espresso

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

解析云代码之前获取预更新的对象

beforeSave钩子中,我想在更新之前获取对象的状态.在这种特殊情况下,它是阻止用户在完成选择后改变他们的选择.伪代码看起来像:

If (user has already voted) {
  deny;
} else {
  accept;
}
Run Code Online (Sandbox Code Playgroud)

我到目前为止的代码是:

Parse.Cloud.beforeSave('votes', function(request, response) {
  if (!request.object.isNew()) {
    // This is an update.  See if the user already voted
    if (request.object.get('choice') !== null) {
      response.error('Not allowed to change your choice once submitted');
    }
  }
  response.success();
}
Run Code Online (Sandbox Code Playgroud)

但是request.object已经应用了更新的对象的状态.

请注意,'votes'对象是单独创建的,因此不允许插入但不允许更新是不够的; 我需要知道数据库中是否已经设置了一个给定的字段.

javascript parse-platform

8
推荐指数
4
解决办法
4218
查看次数

波形文件的时间长度

我有一些简单的代码使用TTS生成一个wave文件,然后播放它:

public void TestSpeech()
{
    SpeechSynthesizer synth = new SpeechSynthesizer();
    using (MemoryStream stream = new MemoryStream())
    {
        synth.SetOutputToWaveStream(stream);
        synth.Speak("Hello world");
        stream.Seek(0, SeekOrigin.Begin);
        IWaveSource source = new WaveFileReader(stream);
        EventWaitHandle waitHandle = new EventWaitHandle(false, EventResetMode.AutoReset);
        var soundOut = new WasapiOut();
        soundOut.Initialize(source);
        soundOut.Stopped += (s, e) => waitHandle.Set();
        soundOut.Play();
        waitHandle.WaitOne();
        soundOut.Dispose();
        source.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

一切都工作正常,但我想知道在我开始播放wave文件之前会持续多长时间.有没有计算这个的方法,或者它可以在某个地方使用?

如果它在某处可用,它是如何计算的?我假设它与流中的数据量有关,但是如何?

c# cscore

8
推荐指数
1
解决办法
1998
查看次数

使用IntelliJ和TestNG测试并行性

我试图并行运行一些TestNG测试但无法访问testng.xml,因为IntelliJ可以即时构建它.我已经尝试将诸如'parallel = methods'之类的参数添加到运行配置中,但这似乎没有任何区别.

如何在不诉诸于构建自己的testng.xml文件的情况下,使IntelliN并行运行TestNG?

testng intellij-idea

7
推荐指数
2
解决办法
4158
查看次数

在Intellij中将Spock测试添加到Java项目中

我在Intellij 12中设置了一个现有的Java项目,我正在尝试向它添加一些Groovy类.我开始尝试添加一个简单的Spock类用于测试目的,但是当我右键单击该类时,它不会给我一个选项来运行它.

我已经看了一下我的Intellij配置,它正确地引入了groovy.此外,我可以编写一个Groovy脚本,该脚本使用Groovy类,并且运行没有问题,因此看起来Groovy已连接.还有什么我需要配置来专门运行Spock测试吗?

java groovy intellij-idea spock

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