при использовании AlertDialog.Builder с EditText программная клавиатура не появляется

Вы можете использовать для ... в цикле :

const template = {
  a: '',
  b: ''
}

const data = {
  a: 'test',
  b: 'test',
  c: 'test'
}

const result = {};

for (let k in template) {
  result[k] = data[k];
}

console.log(result)

114
задан Krupa Patel 31 October 2014 в 05:13
поделиться

1 ответ

Можно ли предположить, что я запустил здесь на моей поездке к получению ответа, только для прибытия, и дайте точный ответ.

Первый НЕОБХОДИМО понять, что в отличие от Windows, Android сосет. Много путей. Один путь состоит в том, что, большому количеству функций Android времен не удается функционировать из-за некоторой неполной инициализации. Звучит сумасшедшим, но тогда я полагаю, что объекты андроида не ведут себя нормальные. Обычные объекты полностью инициализируются в конструкции, но объекты андроида должны пройти sersies вызовов функции, onCreate, onStart, onThis, onThat.

Android знает, что Ваш код назовут, прежде чем Графический объект завершает инициализацию, таким образом eachView имеет сообщение и постотложенную функцию; которые отправляют инструкцию относительно viewВґs очереди сообщений, которая обязана быть обработанной.

следующее работает пример из моего проекта....

src/jav/android/Util.java

package jav.android;

import android.app.*;
import android.content.*;
import android.graphics.*;
import android.view.*;
import android.view.inputmethod.*;


public class Util 
{
    public static ....

    public static void hideKeyboard(Context ctx,View view) 
    {
     InputMethodManager imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
     imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
    }

    public static void showKeyboard(final Context ctx,final View view) 
    {
        Runnable r = new Runnable()
        {
            @Override public void run()
            {
                if (view.requestFocus()) 
                {
                 InputMethodManager imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
                 imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
                }
            }
        };

        view.post(r);
    }
}

, Таким образом, я использовал код из ответов здесь, но я отправил его вместо того, чтобы непосредственно назвать его.

0
ответ дан 24 November 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: