I have updated my activity class as fragment, but I am not sure how to update the parts in the photo.
My Code :
package com.nisaefendioglu.recentearthquakes.fragment
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.nisaefendioglu.recentearthquakes.R
import com.nisaefendioglu.recentearthquakes.RecyclerAdapter
import com.nisaefendioglu.recentearthquakes.model.EarthquakeModelItem
import com.nisaefendioglu.recentearthquakes.service.ApiClient
import kotlinx.android.synthetic.main.earthquake.*
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class Earthquake : Fragment((R.layout.earthquake)) {
private var listUsers: MutableList<EarthquakeModelItem> = mutableListOf<EarthquakeModelItem>()
private var adapter: RecyclerAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
listUsers = mutableListOf()
recyclerview.layoutManager = LinearLayoutManager(this@Earthquake)
adapter = RecyclerAdapter(
this,
listUsers
)
recyclerview.adapter = adapter
getUsersData()
}
private fun getUsersData() {
ApiClient.apiService.getEarthquakes().enqueue(object :
Callback<MutableList<EarthquakeModelItem>> {
override fun onFailure(call: Call<MutableList<EarthquakeModelItem>>, t: Throwable) {
Log.e("error", t.localizedMessage)
}
override fun onResponse(
call: Call<MutableList<EarthquakeModelItem>>,
response: Response<MutableList<EarthquakeModelItem>>
) {
val usersResponse = response.body()
listUsers.clear()
usersResponse?.let { listUsers.addAll(it) }
adapter?.notifyDataSetChanged()
}
})
}
}
MainActivity.kt
package com.nisaefendioglu.recentearthquakes.view
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.nisaefendioglu.recentearthquakes.R
import com.nisaefendioglu.recentearthquakes.fragment.Earthquake
import com.nisaefendioglu.recentearthquakes.fragment.InfoFragment
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val info= InfoFragment()
val earthquake = Earthquake()
//val maps = MapFragment()
setCurrentFragment(info)
bottomNavigationView.setOnNavigationItemSelectedListener {
when(it.itemId){
R.id.infoFragment ->setCurrentFragment(info)
R.id.earthquakeFragment ->setCurrentFragment(earthquake)
// R.id.mapsFragment->setCurrentFragment(maps)
}
true
}
}
private fun setCurrentFragment(fragment: Fragment)=
supportFragmentManager.beginTransaction().apply {
replace(R.id.flFragment,fragment)
commit()
}
}
Error : e: /Users/nisa/AndroidStudioProjects/RecentEarthquakes/app/src/main/java/com/nisaefendioglu/recentearthquakes/fragment/Earthquake.kt: (26, 58): Type mismatch: inferred type is Earthquake but Context! was expected
e: /Users/nisa/AndroidStudioProjects/RecentEarthquakes/app/src/main/java/com/nisaefendioglu/recentearthquakes/fragment/Earthquake.kt: (29, 13): Type mismatch: inferred type is Earthquake but Context was expected
I have updated my activity class as fragment, but I am not sure how to update the parts in the photo. Can you help me?
I have updated my activity class as fragment, but I am not sure how to update the parts in the photo. Can you help me?