小编fif*_*fth的帖子

Android:如何获得模态对话框或类似的模态行为?

这些天我正在研究在Android中模拟模态对话框.我已经google了很多,有很多讨论,但很遗憾没有太多的选择来获得它的模态.这里有一些背景,
对话框,模态对话框和Blockin
对话框/ AlertDialogs:如何在对话框启动时"阻止执行"(.NET风格)

没有直接的方法来获得模态行为,然后我想出了3个可能的解决方案,
1.使用对话框主题的活动,就像这个线程所说的那样,但我仍然无法使主要活动真正等待对话活动返回.主要活动转为停止状态,然后重新启动.
2.构建一个工作线程,并使用线程同步.但是,对于我的应用程序来说,这是一个巨大的重构工作,现在我在主UI线程中有一个主要活动和服务.
3.当存在模态对话框时,在循环内接管事件处理,并在对话框关闭时退出循环.实际上,这是构建一个真正的模态对话框的方式,就像它在Windows中的确切做法一样.我仍然没有这样的原型.

我仍然想用一个以对话为主题的活动模拟它,
1.通过startActivityForResult()启动对话活动
2.从onActivityResult()获取结果
这里有一些来源

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    MyView v = new MyView(this);
    setContentView(v);
}

private final int RESULT_CODE_ALERT = 1;
private boolean mAlertResult = false;
public boolean startAlertDialog() {
    Intent it = new Intent(this, DialogActivity.class);
    it.putExtra("AlertInfo", "This is an alert");
    startActivityForResult(it, RESULT_CODE_ALERT);

    // I want to wait right here
    return mAlertResult;
}

@Override
protected void onActivityResult (int requestCode, int resultCode, …
Run Code Online (Sandbox Code Playgroud)

android synchronization modal-dialog android-activity

53
推荐指数
6
解决办法
9万
查看次数

Android:如何创建MotionEvent?

MotionEvent没有得到构造函数,我想在单元测试中手动创建一个MotionEvent,然后如何获得它?谢谢.

events android

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

如何在QTestLib对Qt app进行单元测试时构建项目

我得到了我的Qt项目,我正在使用Qt Creator.我想对我的所有代码进行单元测试.
但是我在QTestLib框架上相当新,但是每个人都推荐它用于测试基于Qt的源代码.现在我有点困惑如何用app项目构建测试项目.

  1. 我可以将所有源代码和测试代码放在同一个项目中吗?如果是这样,我怎么能管理它们?我没有找到任何让我在一个项目中启动app或开始测试的选项.
  2. 如果我将应用程序源代码和测试代码放在单独的项目中,测试项目将引用应用程序项目,这不太方便.
  3. 对于需要测试的类的批量,我如何管理测试代码?

在这种情况下,你们如何管理测试代码?谢谢.

qt unit-testing qttest qtestlib

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

Android:如何创建透明的对话框主题活动

我最初的目标是模态对话框,但是你知道,Android不支持这种类型的对话框.或者,构建以对话为主题的活动可能会奏效.
这是代码,

public class DialogActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    setTheme(android.R.style.Theme_Dialog);

    super.onCreate(savedInstanceState);

    requestWindowFeature (Window.FEATURE_NO_TITLE);

    Button yesBtn = new Button(this);
    yesBtn.setText("Yes");
    yesBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            DialogActivity.this.finish();

        }

    });

    this.setContentView(yesBtn);
}
Run Code Online (Sandbox Code Playgroud)

然而,背景总是黑色,这真的令人困惑.人们遇到同样的问题,
http://code.google.com/p/android/issues/detail?id = 4394
我只是想让它看起来更像用户对话.那么,如何使这个DialogActivity透明,永远不会覆盖底层屏幕?
谢谢.

这就是我创作风格的方式

<style name="CustomDialogTheme" parent="android:Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android dialog android-activity

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

如何以Java方式直接从设备读取/写入文件(如O_DIRECT标志的效果)?

我必须直接读/写文件,没有任何缓冲.在旧的C方式中,我通过使用带O_DIRECT标志的open方法来做到这一点.

这有可能用Java方式吗?

这是O_DIRECT描述

尝试最小化I/O与此文件之间的缓存效果.通常,这会降低性能,但在特殊情况下很有用,例如应用程序执行自己的缓存时.文件I/O直接进出用户空间缓冲区.

更新:

这是我的代码示例,

// write
fos = new FileOutputStream(fileName);
fos.write(inputData);
fos.flush();
fos.close();

// read
fis = new FileInputStream(fileName);
int len = fis.read(outputData, offset, length);
fis.close();
Run Code Online (Sandbox Code Playgroud)

背景是我将数据(实际上是命令)写入SD卡(某种智能卡)上的文件,然后智能卡接收命令并将结果准备到同一文件.通常情况下,我可以从文件中读取数据(结果),但我得到了同样的inputDataoutputData,即,我只是得到我的命令了.这是意想不到的结果.我怀疑代码是否只是写入/读取缓冲区,而不是真实文件.Flush无法正常工作.

java file-io android

15
推荐指数
1
解决办法
793
查看次数

Perforce,如何将更改集成到另一个分支?

我有主干和发布分支.如果我修复了发布分支中的错误,我肯定应该将修复程序集成到trunk.但是,我没有找到专门用于整合这样一个变更列表的命令; 我错过了什么?

perforce branch branching-and-merging

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

Android:模拟器经常断开连接(离线)!

在我推出新模拟器之后的某个时间,我第一次尝试上传我的apk,但是我得到了"模拟器:错误:用户数据图像被另一个模拟器使用.中止".

我推出了一个新的模拟器,并且不管它,几分钟后,DDMS显示"设备离线".

我不得不重新启动一个新的,你知道,浪费了几分钟.
我一直很困难,我不断收到这个错误并减慢了调试速度.
我如何解决它?

android android-emulator

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

Objective-C:如何对一系列字符串常量进行分组?

我以宏的方式定义了一系列字符串常量,如下所示:

#define EXT_RESULT_APPID  @"appid"
#define EXT_RESULT_ERROR_CODE  @"errorcode"
#define EXT_RESULT_PROGRESS  @"progress"
...
Run Code Online (Sandbox Code Playgroud)

所有这些常量都应该在相同的上下文中使用,所以我想将它们限制在同一个命名空间中,我不想让它们全局化,就像这篇文章所说的那样.

另一方面,我可以将所有数字常量放在枚举中,但它不适用于字符串.那么我怎么能组合这些相关的字符串常量?

objective-c nsstring ios

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

Android:在RelativeLayout的onTouchEvent中看不到ACTION_MOVE/UP

我向RelativeLayout注册了一个监听器,见下文.我想添加一些自定义事件处理,

mOnTouchListener = new OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            final int action = motionEvent.getAction();
            boolean ret = false;

            switch (action) {
            case MotionEvent.ACTION_DOWN:
                ret = doSth(motionEvent);
                break;
            case MotionEvent.ACTION_MOVE:
                ret = doSth(motionEvent);
                break;
            case MotionEvent.ACTION_UP:
                ret = doSth(motionEvent);
                break;
            }

            return ret;     // returning false got me none of MOVE/UP events right here
        }
    };
Run Code Online (Sandbox Code Playgroud)

但是,除非返回true,否则我无法获得任何MOVE/UP事件.

另一个尝试,我向CheckBox注册了同样的监听器,一切都很顺利.
ViewGroup和Widget之间有区别吗?设计目的?

android event-handling

9
推荐指数
1
解决办法
7657
查看次数

如何使用RxJava-Android等待多个嵌套的异步调用?

我是RxJava的新手,这是我的情况,

  1. 发送请求A并将List<A>返回
  2. 对于每个A,发送请求AA并将AA返回,然后绑定A和AA
  3. B&BB有类似的逻辑
  4. 在所有请求完成后才执行某些操作

例:

request(url1, callback(List<A> listA) {
    for (A a : listA) {
        request(url2, callback(AA aa) {
            a.set(aa);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

A和B是独立的

如何构造代码?我还使用Retrofit作为网络客户端.

android asynchronous rx-java

9
推荐指数
1
解决办法
6120
查看次数