小编Jar*_*ler的帖子

使用AnimationUtils显示和隐藏FAB时的竞争条件

在允许用户通过社交网络登录的Android应用中,我FAB使用以下代码显示和隐藏a :

应用截图

public abstract class LoginFragment extends Fragment {

    private FloatingActionButton mFab;
    private Animation mShowFab;
    private Animation mHideFab;

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

        mShowFab = AnimationUtils.makeInAnimation(getContext(), false);
        mShowFab.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                mFab.setVisibility(View.VISIBLE);
            }

            @Override
            public void onAnimationEnd(Animation animation) {
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });

        mHideFab = AnimationUtils.makeOutAnimation(getContext(), true);
        mHideFab.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                mFab.setVisibility(View.INVISIBLE);
            }

            @Override …
Run Code Online (Sandbox Code Playgroud)

animation android android-animation animationutils floating-action-button

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

从adb shell输入韩文键盘中的keyevent

我想使用adb shell将韩语或其他非英语文本发送到Android设备.选择的输入键盘语言是韩语,但它始终使用adb input keyevent命令以英语显示字符.如果我从设备输入它可以工作.

同样的事情是在模拟器中工作但不在真实设备上.

android adb

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

GET请求中JSON参数的长度限制

我的Android应用程序正在对我的Server API进行两次GET调用.在第一个中,这是,其中参数code是256个字符串.

$.getJSON( myServerEndpoint, {
    action: "doStuff1",
    username: $("#username").val(),
    code: my256charString,
    format: "json"
})
.done(function( data ) {
    doStuff2Response(data);  
});
Run Code Online (Sandbox Code Playgroud)

第二个是这个,其中参数code是5120 char字符串.两者都到达相同的服务器端点.

$.getJSON( myServerEndpoint, {
    action: "doStuff2",
    username: $("#username").val(),
    code: my5120CharString,
    format: "json"
})
.done(function( data ) {
    doStuff2Response(data);  
});
Run Code Online (Sandbox Code Playgroud)

当我从同一设备和连接到WiFi或大多数移动数据提供商的同一用户呼叫它们时,它完美地工作.

但是,当我从Vodafone数据连接进行连接时,第二个请求永远不会到达服务器.除了Vodafone的参数长度有限制之外,我找不到任何其他解释.

任何想法或解决方案?

api android json get

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

从活动启动DialogFragment

我现在正在使用IntelliJ学习Android编程,但遇到了一些问题。

我有一个活动,看起来像这样:

public class example2 extends Activity {
    ...some code...
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.optExit:
                finish();
                return true;
            case R.id.optSettings:
                Intent sintent = new Intent(this, settings.class);
                startActivity(esintent);
                return true;
            case R.id.optAbout:
                //need to start the fragmentdialog

        }
        return true;
    }
    ...some code...
}
Run Code Online (Sandbox Code Playgroud)

这就是我的DialogFragment的样子

public class about extends DialogFragment {

    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
        b.setTitle("About");
        b.setMessage("some text");
        b.setCancelable(false);
        b.setPositiveButton("OK", null);
        return b.create();
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几乎所有内容,使用FragmentManager创建了一个新实例并启动了该方法,但我无法使用它。我该怎么办?

java android intellij-idea android-dialogfragment

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

Android - 如何在Imageview中加载超过20mb的图像

我的项目是关于Android中的图像处理.我的问题是,当我在ImageView中加载22MB图像时,我得到一个OutOfMemoryError.

错误:

java.lang.OutOfMemoryError:无法在dalvik.system.VMRuntime.newNonMovableArray(本机方法)中分配带有11397108个空闲字节的244588824字节分配和79MB直到OOM

android android-bitmap

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

Android Studio创建新项目错误

我已经创建了许多项目没有任何问题但是今天我在创建新项目时仍然遇到以下错误

Gradle 'MyApplication' project refresh failed
Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap
Run Code Online (Sandbox Code Playgroud)

关于什么是错的任何想法?

android

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

禁用SlidingPaneLayout的滑动手势

我有一个滑动窗格布局,其中包含一个ListView.我有一个按钮来打开滑动窗格.因此,我想禁用此滑动窗格的滑动手势,当我尝试访问同一布局中的任何其他视图时,这会产生问题.

反正只有禁用滑动手势并且按钮功能应该有效吗?它应该像往常一样在按钮点击时打开和关闭滑动窗格.

以下是我的XML布局的一部分:

<android.support.v4.widget.SlidingPaneLayout
    android:id="@+id/sliding_pane_layout_accountHome"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff" >

    <LinearLayout
        android:layout_width="280dp"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:background="#FFFFFF">

        <ListView
            android:id="@+id/lv_menuList"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </LinearLayout>
</android.support.v4.widget.SlidingPaneLayout>
Run Code Online (Sandbox Code Playgroud)

这是按钮功能的代码

slidingLayout1 = (SlidingPaneLayout) findViewById(R.id.sliding_pane_layout_accountHome);
slidingLayout1.openPane();

iv_menu=(ImageView)findViewById(R.id.iv_menu);
    iv_menu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            if(slidingLayout1.isOpen()==true)
            {
                slidingLayout1.closePane();
            }
            else
            {
                slidingLayout1.openPane();
            }

        }
    });
Run Code Online (Sandbox Code Playgroud)

android swipe-gesture slidingpanelayout

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

无法在Android Studio中更新JDK位置

我无法在Android Studio中更新Java JDK或Android SDK路径.

要更新默认的JDK或Android SDK:

  1. 打开Android Studio
  2. 转到快速入门 - >配置 - >项目默认值 - >项目结构
  3. 更改JDK位置

我的问题/疑问:

"应用"按钮不可单击,如果我按"确定",则JDK或Android SDK位置永远不会更新.这是一个视频,显示我尝试更新位置时会发生什么.我怎样才能解决这个问题?

预期成绩:

Android Studio应更新JDK和/或SDK位置.

附加信息:

JAVA_HOME 环境变量与我尝试在Android Studio中更新的位置相匹配.

Android Studio 1.5.1 Build 141.2456560

Windows 10专业版

android android-studio

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

配置RxJava以将数据发送到GCMListenerService的活动

我试图将更新发送到我Activity从我的GCMServiceListener话,我使用RxJava/RxAndroid并创建一个BusClass用于处理和发送Observers

public class ClientBus {

//private final PublishSubject<Object> _bus = PublishSubject.create();

// If multiple threads are going to emit events to this
// then it must be made thread-safe like this instead
private final Subject<Object, Object> _bus = new SerializedSubject<>(PublishSubject.create());

public void send(Object o) {
    _bus.onNext(o);
}

public Observable<Object> toObserverable() {
    return _bus;
}

public boolean hasObservers() {
    return _bus.hasObservers();
}
}
Run Code Online (Sandbox Code Playgroud)

而在我,Application Class我这样做初始化BusClass

private ClientBus clientBus;

public …
Run Code Online (Sandbox Code Playgroud)

android rx-android

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

正则表达式匹配Android包名称

如何检查字符串是否为有效的Android软件包名称?

regex android

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