私はAndroidプロジェクトに取り組んでおり、jfeinsteinスライディングメニューライブラリを利用しています。ライブラリはhttps://github.com/jfeinstein10/slidingmenuにあります。
ライブラリが正常に機能するようになり、スイッチなどのTextViewだけでなく、他のコンポーネントでも機能するようにコードを修正しました。ユーザーがアクティビティを切り替えることなくボックスに直接入力できるように、メニューにEditTextを追加しようとしています。
私はそれを持っているので、私はMenuAdapter
拡張する呼び出しを持っていますArrayAdapter
。次に、これには一連のコンストラクターがあり、コンストラクターと渡される値に基づいて、スライドメニューに追加されるコントロールを決定します。スライドメニューにが追加され、ヒントが送信されます。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;
あなたが提供できるどんな助けにも感謝します。