0

我是android开发的新手,如果问题不清楚,很抱歉。我想使用小部件“数字选择器”,它可以在 Github 的这个链接中找到。我知道有一种方法可以将 git 项目导入 eclipse,但我想做的是将它添加到我已经存在的项目中。我已经尝试手动将类和所有包含的文件夹添加到该小部件到我的项目中,问题是没有解释如何将此数字选择器元素添加到活动的 xml 文件。我是这样做的: 1. 将 Scroller 和 NumberPicker 类添加到项目包下的 src 文件夹中。2.添加了可绘制的xmls、值和图像。3.将jar文件添加到Android Dependencies文件夹。4. 已将此添加到活动 xml 文件中:

<com.example.mathgame.NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

这是主要活动类:

package com.example.mathgame;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.example.mathgame.NumberPicker;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final NumberPicker np = (NumberPicker) findViewById(R.id.numberPicker);
        np.setMaxValue(24);
        np.setMinValue(1);
        np.setFocusable(true);

        np.setFocusableInTouchMode(true);

    }


}

当我运行应用程序时,这是 logCat 中的异常:

12-14 20:23:26.283: E/AndroidRuntime(29792): FATAL EXCEPTION: main
12-14 20:23:26.283: E/AndroidRuntime(29792): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mathgame/com.example.mathgame.MainActivity}: java.lang.ClassCastException: android.widget.NumberPicker cannot be cast to com.example.mathgame.NumberPicker

我想知道处理导入的 github 项目的正确方法是什么,以及我应该如何解决这个问题。谢谢!!!


我找到了应用程序崩溃的原因。这是因为 number_picker.xml 文件,我在某些地方已更改为 com.example.mathgame.NumberPicker。现在应用程序启动了,但数字选择器看起来很奇怪(我有按钮和它附近的一些元素)。现在的样子如下:

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageButton android:id="@+id/np_increment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?attr/numberPickerUpButtonStyle"
        android:contentDescription="@string/np_number_picker_increment_button" />

    <view class="com.example.mathgame.NumberPicker$CustomEditText"
        android:id="@+id/np_numberpicker_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?attr/numberPickerInputTextStyle" />

    <ImageButton android:id="@+id/np_decrement"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?attr/numberPickerDownButtonStyle"
        android:contentDescription="@string/np_number_picker_decrement_button" />

</merge>
4

1 回答 1

1

这是一个库项目。所以你可以直接在你的android项目中添加这个项目。只需导入一个库项目。然后进入项目属性->android->向下滚动添加库项目。毕竟使用这个库类来创建对象。

于 2012-12-14T19:07:47.540 回答