我目前正在尝试将自定义键盘添加到由ArrayAdapter动态填充的列表视图中。
我的视图层次结构如下所示:一个活动,其顶部栏(自制,为LinearLayout),在FrameLayout下方,其中包含5个碎片中的一个,以及(可选)下方的底栏(可能与LinearLayout一样)好。)
我的问题是将键盘视图放在xml中的位置,因为我相信,当我将它放在activity.xml中时,它隐藏在列表视图的后面。将其添加到列表视图片段也是不可能的,因为“引起:java.lang.UnsupportedOperationException:AdapterView中不支持addView(View,LayoutParams)”。
这就是我要添加的代码(为了清楚起见,一切都在我创建的示例应用程序中,只有一个活动)
<android.inputmethodservice.KeyboardView
android:id="@+id/keyboardview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone"
/>
Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/layout_top">
<!-- MY TOP BAR ELEMENTS HERE
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/main_fragment">
<!-- SPACE FOR FRAGMENT HERE -->
</FrameLayout>
<LinearLayout>
<!-- SPACE FOR BOTTOM BAR HERE -->
</LinearLayout>
</LinearLayout>
fragment.xml之
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:id="@+id/feuchterechner_fragment"
android:inputType="numberDecimal"
>
如上所述,ListView通过ArrayAdapter填充。问题:我在哪里放置keyboardView xml?
提前致谢!