小编Ruc*_*hir的帖子

如何在android中创建活动时获得键盘的高度

我想在用户进入该特定活动时自动显示具有相同设备键盘高度的列表视图.为此,我调用了三个方法,showKeyboard(),getKeyboardHeight()然后hideKeyboard(),然后给listview提供高度并显示listview.但问题是,一旦我调用showKeyboard(),计算高度然后hideKeyboard(),键盘就不会隐藏并保持可见.另外我的高度为0.我无法显示listView.在下面的代码中是否还有其他进程可以获得键盘高度或任何校正?请参阅以下代码:

showKeyboard()方法 -

private void showKeyboard() {
             InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
             keyboard.showSoftInput(editChatBox, 0);
        }
Run Code Online (Sandbox Code Playgroud)

getKeyboardHeight()方法 -

public int getKeyboardHeight() {
          final View rootview = this.getWindow().getDecorView();
           linearChatLayout.getViewTreeObserver().addOnGlobalLayoutListener(
                new ViewTreeObserver.OnGlobalLayoutListener() {
                    public void onGlobalLayout() {
                        Rect r = new Rect();
                        rootview.getWindowVisibleDisplayFrame(r);
                        int screenHeight = rootview.getRootView().getHeight();
                        int newHeight = screenHeight - (r.bottom - r.top);
                        if (newHeight > heightOfKeyboard) {
                            heightOfKeyboard = screenHeight
                                    - (r.bottom - r.top);
                            // heightOfKeyboard = heightDiff;
                        }

                        Log.d("Keyboard Size", "Size: " + heightOfKeyboard);
                    }
                });
        return heightOfKeyboard;
    } …
Run Code Online (Sandbox Code Playgroud)

keyboard android listview

14
推荐指数
1
解决办法
3383
查看次数

无法访问未找到 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件

我从我的移植Android应用程序的项目GCMFCM。为此,我在 Android Studio 中使用 Firebase 助手工具并遵循 Google 开发人员指南中的说明。一切顺利,并FCM根据助手工具更改了我的应用程序代码。现在,是时候运行和测试应用程序了。我得到了以下奇怪的错误:

无法访问未找到 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件

我在使用谷歌地图并尝试设置标记位置时遇到此错误。这是我的应用程序级别 gradle :

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
    maven { url 'https://dl.bintray.com/kennyc1012/maven' }
}


android {
    signingConfigs {
        msapp {
        }
    }

    compileSdkVersion 26
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.package"
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true …
Run Code Online (Sandbox Code Playgroud)

android google-maps firebase android-gradle-plugin firebase-cloud-messaging

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

如何在Android中以编程方式禁用表情符号

我想以编程方式隐藏键盘上的表情符号和自动建议.它适用于某些Android设备,但不适用于所有设备.这是隐藏自动建议的代码:

txtSingupemail.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS 
                           |InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
txtSignuppwd.setInputType(InputType.TYPE_TEXT_VARIATION_FILTER | InputType.TYPE_TEXT_VARIATION_PASSWORD);
txtSignuppwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)

这是我的UI的快照:

在此输入图像描述

这是用户单击signIn按钮时的布局.当用户点击标记为红色的左下角图标时,由于表情符号作为建议,键盘高度会增加.

见下面的快照:

在此输入图像描述

有没有办法以编程方式隐藏键盘上的那些顶级表情符号?

android android-softkeyboard emoji android-viewtreeobserver

8
推荐指数
2
解决办法
9719
查看次数

在android studio中自定义facebook登录按钮

在我的Android应用程序中,我已经集成了facebook登录,工作正常.后来,我已经定制了登录按钮,它也没有任何问题.当用户点击Facebook登录按钮时,它成功地让用户登录而没有任何问题.但问题是,当用户登录时,它不会进入下一个活动,而是显示相同的登录页面,其中有facebook按钮,并在facebook登录按钮上显示注销文本,然后转到下一个活动.见下图: 在此输入图像描述

这是定制的Facebook登录按钮,工作正常.登录后见下图: 在此输入图像描述

它在按钮上显示Logout文本,然后转到下一个活动.我想直接转到下一个活动,而不是使用Logout文本显示此登录按钮.我该怎么做呢.?任何帮助.. !!
这是我的代码如下:

xml代码:

<com.facebook.login.widget.LoginButton
        xmlns:fb="http://schemas.android.com/apk/res-auto"
        android:id="@+id/login_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fb:login_text=""
        android:layout_gravity="center"/>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

loginButton = (LoginButton)findViewById(R.id.login_button);
        loginButton.setBackgroundResource(R.drawable.fb);
        loginButton.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
        loginButton.setCompoundDrawablePadding(0);
        loginButton.setPadding(0, 0, 0, 0);
        loginButton.setText("");
        loginButton.setReadPermissions(permissionNeeds);

loginButton.registerCallback(callbackManager,new FacebookCallback<LoginResult>()
        {
            @Override
            public void onSuccess(LoginResult loginResult)
            {
                GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback()
                    {
                        @Override
                        public void onCompleted(JSONObject user, GraphResponse response)
                        {
                            if(user !=null)
                            {
                                String firstName = user.optString("first_name");
                                String lastName = user.optString("last_name");
                                String email = user.optString("email");

                                Intent i1 = new Intent(getApplicationContext(),FacebookData.class);
                                i1.putExtra("first",firstName);
                                i1.putExtra("last",lastName);
                                i1.putExtra("email",email);
                                startActivity(i1);
                            }
                        } …
Run Code Online (Sandbox Code Playgroud)

java android facebook facebook-graph-api facebook-login

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

尝试调用虚方法'int java.lang.String.hashCode()'

我正在尝试使用Volley Library将URL中的图像加载到girdview中.为此,我正在学习教程.当我运行我的项目时,它从服务器数据库收集所有URL,然后存储在arraylist中.但是不显示图像.我收到了java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference错误.它甚至没有指向我遇到此错误的任何代码行数.见下面Logcat输出:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
        at com.android.volley.Request.<init>(Request.java:136)
        at com.android.volley.toolbox.ImageRequest.<init>(ImageRequest.java:71)
        at com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:219)
        at com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:171)
        at com.android.volley.toolbox.NetworkImageView.loadImageIfNecessary(NetworkImageView.java:141)
        at com.android.volley.toolbox.NetworkImageView.onLayout(NetworkImageView.java:190)
        at android.view.View.layout(View.java:15596)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.GridView.setupChild(GridView.java:1542)
        at android.widget.GridView.makeAndAddView(GridView.java:1436)
        at android.widget.GridView.makeRow(GridView.java:361)
        at android.widget.GridView.fillDown(GridView.java:302)
        at android.widget.GridView.fillFromTop(GridView.java:437)
        at android.widget.GridView.layoutChildren(GridView.java:1276)
        at android.widget.AbsListView.onLayout(AbsListView.java:2148)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15596)
        at …
Run Code Online (Sandbox Code Playgroud)

android gridview android-logcat android-volley networkimageview

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

如何在android中使用json检索多维数组

我有一个多维数组,我想在android中使用JSON检索.我有以下JSON结构:

  [
      [
        {
          "name": "Banking",
          "data": [
            {
              "vendor_name": "SBI",
              "vendor_id": "1"
            },
            {
              "vendor_name": "ICICI",
              "vendor_id": "2"
            },
            {
              "vendor_name": "BOB",
              "vendor_id": "3"
            }
          ],
          "count": 4
        }
     ]
 ]
Run Code Online (Sandbox Code Playgroud)

我想"name",vendor_name,vendor_id在我的Android字符串.但我不知道如何做到这一点.请让我知道如何检索这个.

java arrays android json multidimensional-array

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

将文件名与路径分开

我有一个路径如下的文件:D:\ Documents and Settings \ user \ Desktop \ Folder \ File1.txt。这里File1.txt是文件名。现在,我想将此文件名与文件路径分开。如果我有,

路径= C:\ Documents and Settings \ user \ Desktop \ Folder \ File1.txt

然后我要将文件的这个名称存储到filename中。所以输出看起来像这样:filename = File1.txt 我对此一无所知。我是python的新手..有人可以在python中帮助我吗????

python file

-1
推荐指数
1
解决办法
1561
查看次数

如何在android中点击按钮添加未知数量的edittext

在我的Android应用程序中,我有一个edittext,下面有两个按钮.第一个是添加按钮,另一个是发送按钮.当用户点击添加按钮时,它应该在第一个下面创建另一个edittext.如果我必须创建已知数量的edittexts并且我可以像这样使用for循环,这很好:

for(int i = 0; i < 20; i++) 
{
    Edittext et= new Edittext(this);
    ll.addView(et);
}
Run Code Online (Sandbox Code Playgroud)

但问题是如果用户多次点击,那么它应该插入多个未知的edtitexts.意味着用户可以单击100次或200次或更多次.因此,不知道用户单击该添加按钮的次数.任何人都可以帮我解决这个问题.. ??

java android android-edittext android-button

-1
推荐指数
1
解决办法
491
查看次数