将EditText添加到jfeinstein滑动菜单

时间:2013-03-18 23:10:28

标签: android android-edittext slidingmenu

我正在开发一个Android项目,我正在使用jfeinstein滑动菜单库,库可以位于https://github.com/jfeinstein10/slidingmenu

我让这个库运行正常并修改了我的代码,使其可以与其他组件一起使用,而不仅仅是TextViews,例如Switch。我现在正在尝试将EditText添加到菜单中,以便用户可以直接在框中输入而无需切换活动。

我拥有它所以我有一个名为MenuAdapter的{​​{1}}扩展ArrayAdapter。然后,它具有一系列构造函数,这些构造函数基于构造函数和传递的值确定将哪个控件添加到滑动菜单中。 EditText被添加到滑动菜单中并且正在发送提示,当我点击编辑文本时,键盘会显示但是如果我输入任何内容,它就不会显示在EditText中。然而,奇怪的是,如果我长按编辑文本并单击粘贴,我可以查看粘贴的内容,因此它只是键入不起作用。

下面是XML布局,使用设置为gone的可见性隐藏每个组件,然后根据使用的构造函数设置显示。

<?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="50dp"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/row_icon"
        android:paddingLeft="25dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:padding="10dp"
        android:visibility="gone" />

    <TextView
        android:id="@+id/row_title"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:padding="10dp"
        android:text="Medium Text"
        android:textAppearance="@android:style/TextAppearance.Medium"
        android:visibility="gone"
        android:textColor="@color/White" />

    <Switch 
        android:id="@+id/row_switch"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:padding="10dp"
        android:visibility="gone"
        android:textColor="@color/White"/>

    <EditText 
        android:id="@+id/row_edittext"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:padding="10dp"
        android:visibility="gone"
        android:textColor="@android:color/white" />

</LinearLayout>

以下是如何将EditText添加到菜单中的代码。

case EDITEXT:
    EditText editText = (EditText)convertView.findViewById(getItem(position).viewID);
    editText.setHint(getItem(position).hint);
        editText.setEnabled(true);
    editText.setVisibility(View.VISIBLE);
        break;

感谢您提供的任何帮助。

0 个答案:

没有答案