Skip to content

Instantly share code, notes, and snippets.

@kyodgorbek
Last active January 17, 2021 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kyodgorbek/d0d9b3749ac64f15b4db87874cfe13e7 to your computer and use it in GitHub Desktop.
Save kyodgorbek/d0d9b3749ac64f15b4db87874cfe13e7 to your computer and use it in GitHub Desktop.
class CurrenciesAdapter(private val context: Context) : RecyclerView.Adapter<CurrenciesAdapter.MyViewHolder>() {
var list: List<CurrencyResponse> = listOf()
set(value) {
field = value
notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val inflater = LayoutInflater.from(context)
val view: View = inflater.inflate(R.layout.currency_layout,parent,false)
return MyViewHolder(view)
}
override fun getItemCount(): Int {
return list.size
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val user = list.get(position)
holder.name.text = user.quotes.USDAOA.toString()
holder.info1.text = user?.quotes.USDALL.toString()
holder.info2.text = user?.quotes.USDAED.toString()
val addressObj = user.quotes.USDAOA.toString()
holder.address.text = user.quotes.USDAFN.toString()
}
class MyViewHolder(var view: View) : RecyclerView.ViewHolder(view){
val name: TextView = view.findViewById(R.id.txt_user_name)
val info1: TextView = view.findViewById(R.id.txt_user_info1)
val info2: TextView = view.findViewById(R.id.txt_user_info2)
val address: TextView = view.findViewById(R.id.txt_user_address)
}
}
data class CurrencyResponse(
val privacy: String,
val quotes: Quotes,
val source: String,
val success: Boolean,
val terms: String,
val timestamp: Int
)
class MainActivity : AppCompatActivity() {
private var adapter: CurrenciesAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recycler_main.layoutManager = LinearLayoutManager(this@MainActivity)
adapter = CurrenciesAdapter(this)
recycler_main.adapter = adapter
if (isInternetAvailable()) {
getUsersData()
}
}
private fun getUsersData() {
showProgressBar()
var apiInterface: CurrenciesResponse = CurrencyClient().getApiClient()!!.create(
CurrenciesResponse::class.java
)
apiInterface.getCurrencies().enqueue(object : Callback <CurrencyResponse> {
override fun onResponse(
call: Call <CurrencyResponse>,
response: Response <CurrencyResponse>)
{
hideProgressBar()
val currencyResponse = response.body()
adapter?.list = currencyResponse
}
override fun onFailure(call: Call<CurrencyResponse>, t: Throwable) {
hideProgressBar()
Log.e("error", t.localizedMessage)
}
})
}
}
data class Quotes(
val USDAED: Double,
val USDAFN: Double,
val USDALL: Double,
val USDAMD: Double,
val USDANG: Double,
val USDAOA: Double,
val USDARS: Double,
val USDAUD: Double,
val USDAWG: Double,
val USDAZN: Double,
val USDBAM: Double,
val USDBBD: Double,
val USDBDT: Double,
val USDBGN: Double,
val USDBHD: Double,
val USDBIF: Int,
val USDBMD: Int,
val USDBND: Double,
val USDBOB: Double,
val USDBRL: Double,
val USDBSD: Double,
val USDBTC: Double,
val USDBTN: Double,
val USDBWP: Double,
val USDBYN: Double,
val USDBYR: Int,
val USDBZD: Double,
val USDCAD: Double,
val USDCDF: Double,
val USDCHF: Double,
val USDCLF: Double,
val USDCLP: Double,
val USDCNY: Double,
val USDCOP: Double,
val USDCRC: Double,
val USDCUC: Int,
val USDCUP: Double,
val USDCVE: Double,
val USDCZK: Double,
val USDDJF: Double,
val USDDKK: Double,
val USDDOP: Double,
val USDDZD: Double,
val USDEGP: Double,
val USDERN: Double,
val USDETB: Double,
val USDEUR: Double,
val USDFJD: Double,
val USDFKP: Double,
val USDGBP: Double,
val USDGEL: Double,
val USDGGP: Double,
val USDGHS: Double,
val USDGIP: Double,
val USDGMD: Double,
val USDGNF: Double,
val USDGTQ: Double,
val USDGYD: Double,
val USDHKD: Double,
val USDHNL: Double,
val USDHRK: Double,
val USDHTG: Double,
val USDHUF: Double,
val USDIDR: Double,
val USDILS: Double,
val USDIMP: Double,
val USDINR: Double,
val USDIQD: Double,
val USDIRR: Double,
val USDISK: Double,
val USDJEP: Double,
val USDJMD: Double,
val USDJOD: Double,
val USDJPY: Double,
val USDKES: Double,
val USDKGS: Double,
val USDKHR: Double,
val USDKMF: Double,
val USDKPW: Double,
val USDKRW: Double,
val USDKWD: Double,
val USDKYD: Double,
val USDKZT: Double,
val USDLAK: Double,
val USDLBP: Double,
val USDLKR: Double,
val USDLRD: Double,
val USDLSL: Double,
val USDLTL: Double,
val USDLVL: Double,
val USDLYD: Double,
val USDMAD: Double,
val USDMDL: Double,
val USDMGA: Double,
val USDMKD: Double,
val USDMMK: Double,
val USDMNT: Double,
val USDMOP: Double,
val USDMRO: Double,
val USDMUR: Double,
val USDMVR: Double,
val USDMWK: Double,
val USDMXN: Double,
val USDMYR: Double,
val USDMZN: Double,
val USDNAD: Double,
val USDNGN: Double,
val USDNIO: Double,
val USDNOK: Double,
val USDNPR: Double,
val USDNZD: Double,
val USDOMR: Double,
val USDPAB: Double,
val USDPEN: Double,
val USDPGK: Double,
val USDPHP: Double,
val USDPKR: Double,
val USDPLN: Double,
val USDPYG: Double,
val USDQAR: Double,
val USDRON: Double,
val USDRSD: Double,
val USDRUB: Double,
val USDRWF: Int,
val USDSAR: Double,
val USDSBD: Double,
val USDSCR: Double,
val USDSDG: Double,
val USDSEK: Double,
val USDSGD: Double,
val USDSHP: Double,
val USDSLL: Double,
val USDSOS: Double,
val USDSRD: Double,
val USDSTD: Double,
val USDSVC: Double,
val USDSYP: Double,
val USDSZL: Double,
val USDTHB: Double,
val USDTJS: Double,
val USDTMT: Double,
val USDTND: Double,
val USDTOP: Double,
val USDTRY: Double,
val USDTTD: Double,
val USDTWD: Double,
val USDTZS: Double,
val USDUAH: Double,
val USDUGX: Double,
val USDUSD: Int,
val USDUYU: Double,
val USDUZS: Double,
val USDVEF: Double,
val USDVND: Int,
val USDVUV: Double,
val USDWST: Double,
val USDXAF: Double,
val USDXAG: Double,
val USDXAU: Double,
val USDXCD: Double,
val USDXDR: Double,
val USDXOF: Double,
val USDXPF: Double,
val USDYER: Double,
val USDZAR: Double,
val USDZMK: Double,
val USDZMW: Double,
val USDZWL: Double
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment