小编nac*_*aht的帖子

Android操作栏标签和键盘焦点

问题

我有一个非常简单的活动有两个选项卡,我正在尝试在自定义视图中处理键盘输入.这很好用......直到我交换标签.一旦我交换标签,我就永远无法再次捕获事件.在另一个应用程序中,打开一个Dialog然后关闭它会允许我的关键事件通过.没有这样做,我找不到再次获得关键事件的方法.

这是什么问题?一旦我换掉标签,我找不到任何方法来获取关键事件,我很好奇吃了什么.这个例子非常简短而且非常重要.

main.xml中

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
    >
    <FrameLayout
      android:id="@+id/actionbar_content" 
      android:layout_width="match_parent"
      android:layout_height="match_parent"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

my_fragment.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <view 
      class="com.broken.keyboard.KeyboardTestActivity$MyView"
      android:background="#777777"
      android:focusable="true"
      android:focusableInTouchMode="true"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
    >
        <requestFocus/>
    </view>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

KeyboardTestActivity.java

package com.broken.keyboard;

import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;

import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.content.Context;

public class KeyboardTestActivity extends Activity …
Run Code Online (Sandbox Code Playgroud)

java android android-edittext

8
推荐指数
1
解决办法
5419
查看次数

标签 统计

android ×1

android-edittext ×1

java ×1