我有一个包含简单EditText
的片段,当我运行我的程序时,EdtiText
将不是Editable
但是如果在代码中编辑它就会像这样:
myEditText.setText("COCO");
当我不使用片段(在正常活动中的意思)时,EditText
将是可编辑的。
所以包含EDitText
的布局是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/search_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="@string/search" >
<requestFocus />
</EditText>
<Button
android:id="@+id/search_btn"
style="?android:attr/buttonStyleSmall"
android:layout_width="15dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/search_setting" />
</LinearLayout>
<ListView
android:id="@+id/list_eleuteurs"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
它被称为search_text
。
我的片段是:
public class ListElecteur extends Fragment {
private ListView listElecteurs;
private EditText search ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.list_electeurs_fragment,
container, false);
return view;
}
啊,我忘了,当我输入myEditText
时,当前的Tab会把焦点放在myEditText
所写的任何东西:(。
这里有一些截图来解释这个问题。 第一:
你在myEditText
看到光标,现在如果我用键盘键入任何内容,看看有什么好处:
这里的EditText丢失了光标,Tab(title)
因为蓝色而被选中了。
答案 0 :(得分:0)
删除<requestFocus />
并将0dp值放在android:layout_width中的EditText和Button
修改:
这是我的布局版本:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/search_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="@string/search" />
<Button
android:id="@+id/search_btn"
style="?android:attr/buttonStyleSmall"
android:layout_width="15dp"
android:layout_height="40dp"
android:background="@drawable/search_setting" />
</LinearLayout>
<ListView
android:id="@+id/list_eleuteurs"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
试试吧! :d
答案 1 :(得分:0)
只是一个愚蠢的建议。尝试在FrameLayout下包含片段布局xml。这就是我在处理碎片时所做的事情。样品: -
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fr"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="27dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12pt"
android:textAlignment="center"
android:layout_marginLeft="10dp" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tv1" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.31"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
</FrameLayout>
答案 2 :(得分:0)
转到AVD Manager,单击您的设备,然后单击编辑。看看&#34;硬件键盘是否存在&#34;复选框是否已选中。