java.lang.IllegalStateException: itemActivity.item_rv (recyclerview) не должно быть нулевым - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть 2 действия, одно для отображения категории с изображением, при нажатии на категорию, она переходит к действию списка элементов, где возникает эта проблема, оба действия имеют почти одинаковое кодирование.пожалуйста, сообщите.

ItemActivity

класс ItemActivity: AppCompatActivity (), NavigationView.OnNavigationItemSelectedListener {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_item)
    setSupportActionBar(toolbar)

   // var catid:Int = intent.getIntExtra("CATEGORYID")
   Toast.makeText(this, UserInfo.categor_id.toString(), Toast.LENGTH_LONG).show()

    var url = "http://machineIP/gocart/get_item.php?cat_id=" + UserInfo.categor_id
    var list=ArrayList<item>()
    var rq: RequestQueue = Volley.newRequestQueue(this)
    var jar= JsonArrayRequest(Request.Method.GET,url,null, Listener{ response ->
        for(i in 0..response.length()-1)
            list.add(item(response.getJSONObject(i).getInt("item_id"),response.getJSONObject(i).getString("item_name"),response.getJSONObject(i).getString("item_desc"),response.getJSONObject(i).getString("item_image"),response.getJSONObject(i).getDouble("item_sell_price")))
        var adp= ItemAdapter(this,list)
        item_rv.layoutManager = LinearLayoutManager(this)
        item_rv.adapter = adp
    }, Response.ErrorListener{ error ->
        Toast.makeText(this,error.message, Toast.LENGTH_LONG).show()
    })

    rq.add(jar)

ItemAdaptor

класс ItemAdapter (var context: Context, var list: ArrayList): RecyclerView.Adapter () {переопределить fun onBindViewHolder (p0: RecyclerView.ViewHolder, p1: Int) {(p0 как ItemHolder) .bind (list [p1] .itemId, list [p1] .itemName,list [p1] .itemDesc, list [p1] .itemImage, list [p1] .itemSalePrice)}

override fun getItemCount(): Int {
    return list.size
}

override fun onCreateViewHolder(p0: ViewGroup, p1: Int): RecyclerView.ViewHolder {
    var v: View = LayoutInflater.from(context).inflate(R.layout.item_row,p0,false)
    return ItemHolder(v)
}


class ItemHolder(itemView: View): RecyclerView.ViewHolder(itemView){
    fun bind(itemid:Int,n:String,d:String,i:String,p:Double)
    {
        itemView.item_name.text=n
        itemView.item_desc.text=d
        itemView.item_sell_price.text=p.toString()
        Picasso.get().load("http://machineIP/gocart/images/"+i).into(itemView.item_image)
    }
}

} Дайте мне знать, если что-то еще потребуется .... Я очень новичок вРазработка Android ....

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...