0
어댑터가있는 조각이 있습니다. 내가 왜 널 점점 onResponse에서이 어댑터 변수에 웹가변 값은 갱신시 null이됩니다.
내 frangment
class MyTransactionFragment : Fragment() {
val disposable = CompositeDisposable()
var transactionDetailList:ArrayList<TransactionData>? = null
private var mApiSocket: ApiSocket? = null
private var mRecyclerView:RecyclerView? = null
var adapter:TransactionAdapter? = null
companion object {
val TAG = ItemFragment::class.java.simpleName!!
fun newInstance(transactionPojo: TransactionPojo): MyTransactionFragment {
val fragment = MyTransactionFragment()
val args = Bundle()
args.putSerializable(Constants.TRANSACTIONS, transactionPojo)
fragment.arguments = args
return fragment
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_my_transaction, container, false)
mApiSocket = Utils().getApiSocket(activity!!)
val layoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false)
view.mRecyclerViewTransaction.layoutManager = layoutManager
view.mRecyclerViewTransaction.setHasFixedSize(true)
if (arguments!=null && arguments!!.getSerializable(Constants.TRANSACTIONS) != null){
val transactionPojo = arguments!!.getSerializable(Constants.TRANSACTIONS) as TransactionPojo
transactionDetailList = ArrayList(transactionPojo.transactions.data)
adapter = TransactionAdapter(transactionDetailList, activity!!,disposable)
view.mRecyclerViewTransaction.adapter = adapter
mRecyclerView = view.mRecyclerViewTransaction
val scrollListener = object : EndlessRecyclerViewScrollListener(layoutManager) {
override fun onLoadMore(page: Int, totalItemsCount: Int, view: RecyclerView) {
disposable.add(mApiSocket!!.transaction(""+page+1)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(MyTransactionFragment()::onResponse,MyTransactionFragment()::onError))
}
}
view.mRecyclerViewTransaction.addOnScrollListener(scrollListener)
}
return view
}
private fun onResponse(transactionPojo: TransactionPojo){
transactionDetailList = ArrayList(transactionPojo.transactions.data)
adapter!!.addData(transactionDetailList) //here adapter variable gets null Why
}
fun onError(e: Throwable) {
Log.e("TransactionFragment", e.toString())
if (e is NoNetWorkException) {
Utils().showSnackBar(activity!!, "No Network connection")
} else
Utils().showSnackBar(activity!!, "Something went wrong please try again later")
Utils().hideProgress()
}
override fun onDetach() {
super.onDetach()
disposable.dispose()
}
}
에서 데이터를 가져 오기 위해 개조를 사용하고?
으로 변경 했습니까? 의도 한 논리 흐름을 설명 할 수 있습니까? – Remario
내 조각의 oncreatevew에 어댑터를 설정합니다. 나는 또한 그 방법에서 네트워크 기능을 호출하고있다. 응답은 조각 –
에 도착하고 있습니다. 타격 한 엔드 포인트가 실제로 디버깅을했는지 확인합니다. – Remario