質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

10737閲覧

[Kotlin] RecyclerView: No adapter attached; skipping layoutの解決方法

Shumpei.K

総合スコア22

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2018/11/10 08:14

言語・環境 
Android Studio 3.2.1
API level 26
[Kotlin]

現在、「Androidアプリ開発入門」という本を参考にアプリ開発の勉強をしています。

6章のRSSリーダーアプリをLoaderCallbacksを使って作成しているのですが
以下のエラーが出て前に進めません。

Adapterの実装方法について調べてみましたがほとんどJavaのコードがでてきて
Kotlinでの実装方法がわかりませんでした。

解決方法、Kotlinでの実装方法、または参考サイトなどご存知の方いましたらぜひ回答よろしくお願いいたします。

###エラーメッセージ

E/RecyclerView: No adapter attached; skipping layout

以下MainActivityのコードを載せておきます。

class MainActivity : AppCompatActivity(), LoaderManager.LoaderCallbacks<RssClass> { override fun onCreateLoader(id: Int, args: Bundle?) = RssLoaderClass(this) override fun onLoaderReset(loader: Loader<RssClass>?) { } override fun onLoadFinished(loader: Loader<RssClass>?, data: RssClass?) { if (data != null) { val recyclerView = findViewById<RecyclerView>(R.id.recyclerView) val adapter = ArticlesAdapterClass(this, data.articleClasses) { article -> val intent = CustomTabsIntent.Builder().build() intent.launchUrl(this,Uri.parse(article.link)) } recyclerView.adapter = adapter val layoutManager = GridLayoutManager(this,2) recyclerView.layoutManager = layoutManager } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) supportLoaderManager.initLoader(1,null,this) } }

以下、Adapterのコードです。

class ArticlesAdapterClass ( private val context: Context, private val articlesList: List<ArticleClass>, private val onArticleClicked: (ArticleClass) -> Unit) :RecyclerView.Adapter<ArticlesAdapterClass.ArticleViewHolder>() { private val inflater = LayoutInflater.from(context) class ArticleViewHolder(view: View) : RecyclerView.ViewHolder(view) { val title = view.findViewById<TextView>(R.id.titleText) val pubDate = view.findViewById<TextView>(R.id.pubDateText) } override fun getItemCount() = articlesList.size override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ArticleViewHolder { val view = inflater.inflate(R.layout.grid_articles_cell, parent, false) val viewHolder = ArticleViewHolder(view) view.setOnClickListener{ val position = viewHolder.adapterPosition val article = articlesList[position] onArticleClicked(article) } return viewHolder } override fun onBindViewHolder(holder: ArticleViewHolder, position: Int) { val article = articlesList[position] holder.title.text = article.articlesTitle holder.pubDate.text = context.getString(R.string.pubDateString,article.articlesPubDate) } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

val adapter = ArticlesAdapterClass(this, data.articleClasses) { article -> val intent = CustomTabsIntent.Builder().build() intent.launchUrl(this,Uri.parse(article.link)) } recyclerView.adapter = adapter

val layoutManager = GridLayoutManager(this,2) recyclerView.layoutManager = layoutManager

を入れ替えてみるといかがでしょうか。
先にLayoutManagerをセットすれば大丈夫なはずです。

ちなみにこのエラーが出てもAdapterさえちゃんと実装していれば特に問題はありません。

投稿2018/11/12 11:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shumpei.K

2018/11/12 12:26

回答ありがとうございます。 入れ替えてみたら、正常に起動しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問