0

私はAndroid開発に不慣れなので、質問が明確でない場合は申し訳ありません。このリンクのGithubにあるウィジェット「number-picker」を使用したいと思います。gitプロジェクトをeclipseにインポートする方法があることは知っていますが、私がやりたいのは、すでに存在するプロジェクトにそれを追加することです。クラスと含まれているすべてのフォルダーをそのウィジェットに手動でプロジェクトに追加しようとしましたが、問題は、この番号ピッカー要素をアクティビティに追加する方法を説明するxmlファイルがないことです。これが私がそれをした方法です:1。プロジェクトパッケージの下のsrcフォルダーにScrollerとNumberPickerクラスを追加しました。2.描画可能なxml、valuse、および画像を追加しました。3.jarファイルをAndroidDependenciesフォルダーに追加しました。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 に答える