0

我是android的初学者。我正在使用 ndk 应用程序。我有触摸板类并扩展了线性布局。我也使用过这种类型的 xml 文件。此 xml 文件无法访问。我在下面遇到异常。如何访问这个 xml 文件和那个类。

<?xml version="1.0" encoding="utf-8"?>
<org.android.TouchpadLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/touchpad"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageButton
        android:id="@+id/keyboard"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_alignParentRight="true"
        android:background="@drawable/dreamote_btn"
        android:scaleType="centerInside"
        android:src="@+drawable/keyboard" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:maxHeight="48dip"
            android:src="@drawable/gmote_touch_flat"
            android:tint="#99000000" />
    </LinearLayout>

</org.android.TouchpadLayout>

基于这个类

public class TouchpadLayout extends LinearLayout {
  public TouchpadLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
  }

  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    return false;
  }

  @Override
  public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    return new BaseInputConnection(this, false) {
      @Override
      public boolean sendKeyEvent(KeyEvent event) {
        return super.sendKeyEvent(event);
      }

      @Override
      public boolean performEditorAction(int actionCode) {
        sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
        return super.performEditorAction(actionCode);
      }
    };
  }

}

获得例外: 在此处输入图像描述

4

2 回答 2

0

您需要为您的类添加命名空间。请参阅google此处的示例。

于 2013-08-06T09:54:26.830 回答
0

您是否尝试删除它 - xmlns:android="http://schemas.android.com/apk/res/android 并检查一次?

xmlns 代表 xml 命名空间。在您的情况下,您将命名空间设置为 android 命名空间

于 2013-08-06T09:54:18.757 回答