2017-10-24 14 views
0

私のpojoクラスのgetTimeメソッドを自分のアクティビティから呼び出すが、私はアダプタオブジェクトの位置を使用したい。これは私がPOJOオブジェクトをアダプタ位置から取得する

((ConvoResponseModel.DataBean.ConversationBean) adapter.getItemId(0)).getTime(); 

をしようとしていますが、私はinconvertible types long cannot be cast to ConversationBean errorを取得していますコードでrecyclerview、これを達成するための正しい方法は何ですか?

+0

使用 '((ConvoResponseModel.DataBean.ConversationBean)adapter.getItem(0))を参照してください;' –

+0

あなたは答えのいずれかを試してみましたか? – Mauker

答えて

0

メソッドgetTime()longの値から呼び出しようとしています。 getItemId()は、目的のオブジェクトを返さず、メソッドシグネチャの示すように、ID(タイプlong)のみを返します。

使用しているアダプタのサブクラスがわかりませんが、ほとんどの場合、指定された位置でアイテムを取得するメソッドを実装する必要があります。ような何か:

private MyItem getItemAtPosition(int position) { 
    return mItems.get(position); 
} 

編集:また、カスタムビューを埋めるためにBaseAdapterをサブクラス化する方法についてBaseAdapterthis tutorial上のドキュメントをお読みください。

ArrayAdapterを使用している場合は、Fusselchen answerにチェックを入れてください。

スタックトレースの解釈方法については、this related questionを参照することをお勧めします。それはデバッグ中に本当に役立つことがあります。あなたの特別なケースでは、それは変換の問題につながります。

P.S:あなたがUdacityのJavaAndroidコース、またはJavaとAndroid上の任意の他の材料を試してみてください。彼らはあなたのアプリを開発するときにもっと多くの経験を提供し、将来この種の問題を解決するのに役立ちます。

Googleは強力なツールであり、あなたの利便性を高めます。 。

関連する問題