Нотация нарезания питона:
a[start:end:step]
start
и end
отрицательные значения интерпретируются как относящиеся к концу последовательности. end
указывают положение после последнего элемента, который должен быть включен. [+0:-0:1]
. start
и end
. Обозначение распространяется на (numpy) матрицы и многомерные массивы. Например, чтобы разрезать целые столбцы, вы можете использовать:
m[::,0:2:] ## slice the first two columns
В срезах хранятся ссылки, а не копии элементов массива. Если вы хотите сделать отдельную копию массива, вы можете использовать deepcopy()
.
У меня была аналогичная проблема при закрытии диалогового окна предупреждения.
Внутри вашего диалогового окна
public static void closeKB(final View view)
{
caller.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 1);
}
@Override
public void onDismiss(DialogInterface dialog)
{
super.onDismiss(dialog);
View view = getActivity().getCurrentFocus();
if (view != null)
{
closeKB(view);
}
}
В манифесте xml
android:windowSoftInputMode="stateAlwaysHidden"
Он автоматически скроет мягкую клавиатуру при отклонении
blockquote>Dialog
Я встретил ту же проблему. Решил это, делая это. Он не требует ссылки:
imm.hideSoftInputFromWindow(getWindow().getDecorView()
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
Я использую этот метод:
IBinder token = searchTextEntry.getWindowToken();
( ( InputMethodManager ) getSystemService( Context.INPUT_METHOD_SERVICE ) ).hideSoftInputFromWindow( token, 0 );
Где searchTextEntry
- имя моей ссылки EditText
.
Все эти советы для использования InputMethodManager
несколько расплывчаты - где именно назвать это, и они не работают, по крайней мере, для меня. Да, клавиатура исчезает, но потом приложение падает !? Основная проблема заключается в том, что скрытие клавиатуры происходит одновременно с исчезновением диалога.
Чтобы избежать этого, dialog.dismiss()
следует вызвать в view.postDelayed()
после imm.hideSoftInputFromWindow()
, и в моем случае я устанавливаю задержку как 150.