recyclerview 어댑터 관련해서 질문 남깁니다!

미해결질문
choco12343 프로필
import ai.api.AIConfiguration.SupportedLanguages.Korean
import ai.api.AIConfiguration.SupportedLanguages.fromLanguageTag
import ai.api.android.AIConfiguration
import ai.api.AIDataService
import ai.api.model.AIRequest
import ai.api.model.Result
import android.os.AsyncTask
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
import org.techtown.food_menu.R.id.chatText
import org.techtown.food_menu.adapter.ChatAdapter
import org.techtown.food_menu.adapter.MessageDTO
import java.util.ArrayList

class ChatActivity : AppCompatActivity() {
    var messageDTOs = arrayListOf<MessageDTO>()
    var aiDataService : AIDataService? = null
    private val recyclerview: RecyclerView? = null
    private val Adapter: ChatAdapter? = null
    private val llm: LinearLayoutManager? = null
    private val editText: EditText? = null
    private final var lang : ai.api.AIConfiguration.SupportedLanguages? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_chat)

        recyclerview?.findViewById<View>(R.id.chat_recyclerview)
        recyclerview?.adapter = Adapter
        recyclerview?.layoutManager = llm
        editText?.findViewById<View>(R.id.chatText)

        val btn = findViewById<View>(R.id.button) as Button
        btn.setOnClickListener {
            if (!TextUtils.isEmpty(editText?.text)) {
                messageDTOs!!.add(MessageDTO(true, editText?.text.toString()))
                Adapter!!.notifyDataSetChanged()
                recyclerview?.smoothScrollToPosition(messageDTOs.size - 1)
                TalkAsyncTask().execute(editText?.text.toString())
                editText?.setText("")
            }
        }

        var config = AIConfiguration("일부러 지웟어요",Korean,AIConfiguration.RecognitionEngine.System)
        aiDataService = AIDataService(config)
    }

    inner class TalkAsyncTask:AsyncTask<String, Void, Result>() {
        override fun doInBackground(vararg params: String?): Result {
            var aiRequest = AIRequest()
            aiRequest.setQuery(params[0])

            return aiDataService!!.request(aiRequest).result
        }

        override fun onPostExecute(result: Result?) {
            if (result != null) {
                makeMessage(result)
            }
        }
    }

    fun makeMessage(result: Result?) {
        var speech = result?.fulfillment?.speech
        messageDTOs.add(MessageDTO(false, speech))
        recyclerview?.adapter?.notifyDataSetChanged()
        recyclerview?.smoothScrollToPosition(messageDTOs.size - 1)
    }
}

}

이 코드인데 하울님이 하신대로 메인액티비티에서 따라할 때는 recyclerview.adpater 이렇게 해도 어댑터 연결이 잘되던 것이 프로젝트를 합치기 위해서 메인액티비티에서 인텐트로 연결되는 ChatActivity에서 하려니까 잘 되지 않았어요 그래서 이 코드대로 했는데 E/RecyclerView: No adapter attached; skipping layout 이 오류가 뜬다고 합니다ㅠㅠ 혹시 이 문제가 MainActivity가 아니어서 그런건가요? 해결 방법 알려주시면 감사하겠습니다ㅠㅠ
E/memtrack: Couldn't load memtrack module
09-26 18:26:41.770 1904-1917/? W/android.os.Debug: failed to get memory consumption info: -1
이 오류도 뜨네요...^^

유명식 프로필
유명식 2018.09.27

흠.. 어뎁터의 위치가 잘못된듯 합니다 혹시 어뎁터가 어디에 있나요?

choco12343 프로필
choco12343 2018.09.27

아.... adapter라는 폴더 안에 넣어놨어요 그래서 그런거일까요?

유명식 프로필
유명식 2018.09.29

코드를 확인해보니 llm 값이 null값인듯 하네요..

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스