Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MainAdapter(val bookList: MutableList<Book>) : RecyclerView.Adapter<CustomViewHolder>() {
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
- val layoutInflater = LayoutInflater.from(parent.context).inflate(R.layout.recycler_view_row, parent, false)
- return CustomViewHolder(layoutInflater)
- }
- override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
- holder.bindItems(bookList[position])
- /* holder.itemView.text_isbn.text = bookList[position].barcode.toString()*/
- notifyDataSetChanged()
- }
- override fun getItemCount(): Int {
- return bookList.size
- }
- }
- class CustomViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- fun bindItems(book: Book) {
- itemView.text_isbn.text = book.barcode.toString()
- }
- }
- //////////////
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- validatePermission()
- var scanActivity = ScanActivity()
- my_recycler_view.layoutManager = LinearLayoutManager(this)
- my_recycler_view.adapter = MainAdapter(scanActivity.booksMutable)
- button_scan.setOnClickListener {
- val intent = Intent(this, ScanActivity::class.java)
- startActivity(intent)
- }
- }
- /////////////////////
- lass ScanActivity : AppCompatActivity(), ZXingScannerView.ResultHandler {
- private var mScannerView: ZXingScannerView? = null
- var barcode: Long = 0
- //var books = ArrayList<Book>()
- var booksMutable = mutableListOf<Book>()
- public override fun onCreate(state: Bundle?) {
- super.onCreate(state)
- mScannerView = ZXingScannerView(this) // Programmatically initialize the scanner view
- setContentView(mScannerView) // Set the scanner view as the content view
- }
- public override fun onResume() {
- super.onResume()
- mScannerView!!.setResultHandler(this) // Register ourselves as a handler for scan results.
- mScannerView!!.startCamera() // Start camera on resume
- }
- public override fun onPause() {
- super.onPause()
- mScannerView!!.stopCamera() // Stop camera on pause
- }
- override fun handleResult(rawResult: Result) {
- Toast.makeText(this,rawResult.text,Toast.LENGTH_SHORT).show()
- booksMutable.add(Book(rawResult.text.toLong()))
- val my_recycler_view = findViewById(R.id.my_recycler_view) as RecyclerView?
- my_recycler_view?.layoutManager = LinearLayoutManager(this)
- my_recycler_view?.adapter = MainAdapter(booksMutable)
- println("books size " + booksMutable.size)
- onBackPressed()
- fetchJson()
- // If you would like to resume scanning, call this method below:
- //mScannerView.resumeCameraPreview(this);
- }
- fun fetchJson(){
- val url = "http://xisbn.worldcat.org/webservices/xid/isbn/9780571276646?method=getMetadata&format=json&fl=*&callback=mymethod"
- val request =Request.Builder().url(url).build()
- val client = OkHttpClient()
- client.newCall(request).enqueue(object: Callback{
- override fun onFailure(call: Call?, e: IOException?) {
- println("Error in executing call")
- }
- override fun onResponse(call: Call?, response: Response?) {
- val body = response?.body()?.toString()
- // val Jobject = JSONObject(body)
- println("BODY" + body.toString())
- }
- })
- println()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement