小编znq*_*znq的帖子

Android:从后台线程中提升AlertDialog

在我的活动中,有一些东西在后台线程中进行,后者在Activity_1中开始.后台线程的处理需要一段时间,我想通过一个完成后通知用户AlertDialog.但是,在此期间用户可能已更改为Activity_2或Activity_3,并且我希望始终在当前活动中弹出AlertDialog.

知道如何实现这个吗?

multithreading android background dialog

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

Android:Nexus One - Geocoder导致IOException - 与其他设备和模拟器完美配合

下面的代码适用于在1.5,1.6和2.0上运行的实际设备以及在2.1上运行的仿真器.

但是,在Nexus One(运行2.1)上执行它会引发IOException:

java.io.IOException: Unable to parse response from server
at android.location.Geocoder.getFromLocation(Geocoder.java:124)
Run Code Online (Sandbox Code Playgroud)

这是它发生的代码片段:

Double myLatitude = AppObject.myLocation.getLatitude();
Double myLongitude = AppObject.myLocation.getLongitude();
DEBUG.i(TAG, "My location: " + myLatitude + " | " + myLongitude);
Geocoder geocoder = new Geocoder(MainActivity.this);
java.util.List<Address> addressList;
try {
    addressList = geocoder.getFromLocation(myLatitude, myLongitude, 5);
    if(addressList!=null && addressList.size()>0) {
        currentAddress = new String();
        DEBUG.i(TAG,addressList.get(0).toString());
        currentAddress = addressList.get(0).getAddressLine(0) + ", "
        + addressList.get(0).getAddressLine(1) + ", "
        + addressList.get(0).getAddressLine(2); 

    }
    return true;

} catch (IOException e) {
    e.printStackTrace();
    return false; …
Run Code Online (Sandbox Code Playgroud)

android geocoding ioexception nexus-one

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

iPhone:本地化/国际化默认字符串文件

我目前有两种支持的语言:英语和西班牙语.因此main.strings,每种语言都有两个文件.一个在en.lproj一个在es.lproj.

我现在想要的是,main.strings如果用户的区域设置不是en或者es到达应用程序,则英语是默认文件,例如defr.

我知道我可以使用defaultString参数为代码中的每个字符串手动设置它:

NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment);
Run Code Online (Sandbox Code Playgroud)

但我宁愿不再在那里输入它(并且必须在两个地方更改它),而是将该en main.strings文件作为任何其他"不受支持"的语言环境的默认值.

iphone cocoa-touch localization objective-c internationalization

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

iOS:是另一个方向的prepareForSegue回调(即按下后退按钮)

我想知道是否存在回调,类似于prepareForSegue,当用户使用[back]按钮返回到父UIViewController时会调用它.

我还想获取用户来自哪个子视图控制器的信息,这意味着用户按下后退按钮的视图控制器.

uiviewcontroller uinavigationcontroller ios

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

Android IME:如何显示弹出对话框?

我正在玩一些键盘开发,并在按下某个键时尝试显示弹出对话框

if (primaryCode == -301) {
            AlertDialog mDialog = new AlertDialog.Builder(CONTEXT)
            .setTitle("My dialog")
            .setMessage("Lets do it.")
            .setPositiveButton("ok", null).create();
             mDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

然而,问题是这个CONTEXT部分.在正常的应用程序中它只是this.我也试过getApplicationContext()getBaseContext(),但无论这些作品- >键盘崩溃.

android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序

所以我想知道我是否必须使用InputConnection做一些事情:

InputConnection接口是从InputMethod返回到接收其输入的应用程序的通信通道.它用于执行诸如读取光标周围的文本,将文本提交到文本框以及将原始键事件发送到应用程序之类的操作.

到目前为止,我无法弄清楚如何.我知道这是可能的,因为我以前见过它.我有人可以指出我正确的方向,肯定会受到赞赏.


更新:

为了更好地了解我尝试实现的目标,我上传了Swype键盘的屏幕截图,其完全相同:在键盘上按下特殊键时显示弹出对话框.

Swype弹出对话框

keyboard android ime

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

Android IME:显示一个自定义弹出对话框(如Swype键盘),可以在TextView中输入文本

我想知道如何创建一个自定义弹出窗口,如下面的截图(从Swype键盘借用),我可以有几个按钮,每个按钮提交一个字符串到当前"连接" TextView(通过一个InputConnection).

请注意:这是一个InputMethodService而不是普通的Activity.我已经尝试启动一个单独ActivityTheme:Dialog.然而,一旦打开,我就会失去我的焦点TextView而且我的键盘消失了(而且我InputConnection的消失了).

Swype的

keyboard android ime android-input-method

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

Android:InputConnection 缺少 getSelection() 方法

为什么我有setSelectioninInputConnection而没有getSelection()

我应该只做一个getTextBeforeCursor(VERY_HIGH_NUMBER, 0)并计算.length()那个字符串的吗?

android inputconnection

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

Android:InputMethodService的DeadObjectException(SoftKeyboard API示例)

我正在使用SoftKeyboard样本的修改版本,并且"有时" DeadObjectException在使用全屏模式时获得(例如,当orientation == landscape时).我仍然可以输入文本,但ExtractEditText不会更新,每当我点击一个新密钥时,我都会得到下面的logcat输出.

当我切换到肖像(没有全屏模式)时,我可以看到输入的字符.当我回到横向(全屏模式)时,ExtractEditText会更新字符.但是,当我尝试输入新字符时,问题会重复.

此外,当处于全屏模式并且我改变光标位置时,它确实改变了它,ExtractEditText但并没有真正改变我的位置InputConnection.我相信这个问题/错误已经存在于SoftKeyboard API示例中,因为我没有修改与此相关的任何内容,但是,到目前为止,我无法弄清楚在哪里.

也许有人可以指出我正确的方向?

13349     InputMethodManager  W  IME died: com.playground.keyboard/.MyInputMethod
13349     InputMethodManager  W  android.os.DeadObjectException
13349     InputMethodManager  W     at android.os.BinderProxy.transact(Native Method)
13349     InputMethodManager  W     at com.android.internal.view.IInputMethodSession$Stub$Proxy.updateSelection(IInputMethodSession.java:227)
13349     InputMethodManager  W     at android.view.inputmethod.InputMethodManager.updateSelection(InputMethodManager.java:1190)
13349     InputMethodManager  W     at android.widget.TextView.onDraw(TextView.java:4064)
13349     InputMethodManager  W     at android.view.View.draw(View.java:6591)
13349     InputMethodManager  W     at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
13349     InputMethodManager  W     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
13349     InputMethodManager  W     at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
13349     InputMethodManager  W     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
13349     InputMethodManager  W     at android.view.View.draw(View.java:6697)
13349     InputMethodManager …
Run Code Online (Sandbox Code Playgroud)

java keyboard android exception

5
推荐指数
0
解决办法
1141
查看次数

Android:禁用 3rd 方库的日志输出

如何禁用第 3 方库(例如 AdWhirl 和 AdMob)的 logcat 输出?

有时他们提供禁用日志输出的方法,有时他们不提供。对于那些没有应用程序范围的设置,我可以禁止某些类或标签的任何日志输出或日志输出吗?

android logcat

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

是否可以在Android屏幕和通过HDMI连接的屏幕上显示不同的内容?

我想知道是否可以开发一个应用程序,在其中我可以将主要内容显示在通过 HDMI 连接到 Android 的大屏幕上,并使用 Android 的触摸屏作为显示不同内容的控制器。

到目前为止,我看过的有关 Android HDMI 功能的视频仅将手机屏幕镜像到大屏幕。

android hdmi

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