Created
May 13, 2018 19:24
-
-
Save devmsh/b07d9dd0c84b860673f4ba53b328750d to your computer and use it in GitHub Desktop.
Android with|without Databinding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package app.com.datrios.activities; | |
| import android.databinding.DataBindingUtil; | |
| import android.os.Bundle; | |
| import android.support.v7.app.AppCompatActivity; | |
| import android.support.v7.widget.LinearLayoutManager; | |
| import android.support.v7.widget.RecyclerView; | |
| import android.support.v7.widget.Toolbar; | |
| import com.jaeger.library.StatusBarUtil; | |
| import java.util.ArrayList; | |
| import app.com.datrios.Library.interfaces.DataHandler; | |
| import app.com.datrios.R; | |
| import app.com.datrios.Repository; | |
| import app.com.datrios.adapters.LeaderBoard.LeaderBoardAdapter; | |
| import app.com.datrios.databinding.ActivityLeaderBoardBinding; | |
| import app.com.datrios.models.Leaderboard; | |
| public class LeaderBoardActivity extends AppCompatActivity { | |
| ArrayList<Leaderboard> leaderboards = new ArrayList<>(); | |
| LeaderBoardAdapter leaderBoardAdapter; | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| final ActivityLeaderBoardBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_leader_board); | |
| initToolbar(); | |
| leaderBoardAdapter = new LeaderBoardAdapter(this, leaderboards); | |
| RecyclerView recyclerView = findViewById(R.id.recycler_view); | |
| recyclerView.setHasFixedSize(true); | |
| recyclerView.setLayoutManager(new LinearLayoutManager(this)); | |
| recyclerView.setAdapter(leaderBoardAdapter); | |
| Repository.getLeaderBoard(new DataHandler<Leaderboard>() { | |
| @Override | |
| public void onSuccess(ArrayList<Leaderboard> objects, int source) { | |
| leaderboards.clear(); | |
| leaderboards.addAll(objects); | |
| if (leaderboards.size() > 3) { | |
| binding.setFirst(leaderboards.get(0)); | |
| binding.setSecond(leaderboards.get(1)); | |
| binding.setThird(leaderboards.get(2)); | |
| leaderboards.clear(); | |
| leaderboards.addAll(objects.subList(3, (objects.size() - 1))); | |
| leaderBoardAdapter.notifyDataSetChanged(); | |
| } | |
| } | |
| }); | |
| } | |
| private void initToolbar() { | |
| Toolbar toolbar = findViewById(R.id.toolbar); | |
| StatusBarUtil.setTranslucentForImageView(this, toolbar); | |
| setSupportActionBar(toolbar); | |
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |
| getSupportActionBar().setDisplayShowHomeEnabled(true); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package app.com.datrios.activities; | |
| import android.os.Bundle; | |
| import android.support.v7.app.AppCompatActivity; | |
| import android.support.v7.widget.LinearLayoutManager; | |
| import android.support.v7.widget.RecyclerView; | |
| import android.support.v7.widget.Toolbar; | |
| import android.view.MenuItem; | |
| import android.widget.LinearLayout; | |
| import android.widget.TextView; | |
| import com.google.gson.Gson; | |
| import com.google.gson.reflect.TypeToken; | |
| import com.jaeger.library.StatusBarUtil; | |
| import com.squareup.picasso.Picasso; | |
| import java.util.ArrayList; | |
| import java.util.List; | |
| import app.com.datrios.Library.interfaces.DataHandlerInterface; | |
| import app.com.datrios.R; | |
| import app.com.datrios.Repository; | |
| import app.com.datrios.adapters.LeaderBoard.LeaderBoardAdapter; | |
| import app.com.datrios.models.LeaderBoard.LeaderBoardModel; | |
| import de.hdodenhof.circleimageview.CircleImageView; | |
| public class LeaderBoardActivity extends AppCompatActivity { | |
| private Toolbar toolbar; | |
| private LinearLayout st1Container; | |
| private TextView st1UserName; | |
| private TextView st1Points; | |
| private LinearLayout st2Container; | |
| private TextView st2UserName; | |
| private TextView st2Points; | |
| private LinearLayout st3Container; | |
| private TextView st3UserName; | |
| private TextView st3Points; | |
| private RecyclerView recyclerView; | |
| private CircleImageView st1_user_photo; | |
| private CircleImageView st2_user_photo; | |
| private CircleImageView st3_user_photo; | |
| private void initView() { | |
| toolbar = findViewById(R.id.toolbar); | |
| st1Container = findViewById(R.id.st1_container); | |
| st1UserName = findViewById(R.id.st1_user_name); | |
| st1Points = findViewById(R.id.st1_points); | |
| st2Container = findViewById(R.id.st2_container); | |
| st2UserName = findViewById(R.id.st2_user_name); | |
| st2Points = findViewById(R.id.st2_points); | |
| st3Container = findViewById(R.id.st3_container); | |
| st3UserName = findViewById(R.id.st3_user_name); | |
| st3Points = findViewById(R.id.st3_points); | |
| recyclerView = findViewById(R.id.recycler_view); | |
| st1_user_photo = findViewById(R.id.st1_user_photo); | |
| st2_user_photo = findViewById(R.id.st2_user_photo); | |
| st3_user_photo = findViewById(R.id.st3_user_photo); | |
| } | |
| ArrayList<LeaderBoardModel> leaderBoardModels = new ArrayList<>(); | |
| LeaderBoardAdapter adapter; | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| setContentView(R.layout.activity_leader_board); | |
| initView(); | |
| StatusBarUtil.setTranslucentForImageView(this, toolbar); | |
| setSupportActionBar(toolbar); | |
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |
| getSupportActionBar().setDisplayShowHomeEnabled(true); | |
| adapter = new LeaderBoardAdapter(this, leaderBoardModels); | |
| RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); | |
| recyclerView.setHasFixedSize(true); | |
| recyclerView.setLayoutManager(new LinearLayoutManager(this)); | |
| recyclerView.setAdapter(adapter); | |
| Repository.getLeaderBoard(new DataHandlerInterface<LeaderBoardModel>() { | |
| @Override | |
| public void onSuccess(ArrayList<LeaderBoardModel> objects, int source) { | |
| leaderBoardModels.clear(); | |
| leaderBoardModels.addAll(objects); | |
| if (leaderBoardModels.size() > 3) { | |
| st1UserName.setText(leaderBoardModels.get(0).getName()); | |
| st1Points.setText(leaderBoardModels.get(0).getPoints() + ""); | |
| Picasso.with(LeaderBoardActivity.this).load(leaderBoardModels.get(0).getPhoto()).into(st1_user_photo); | |
| st2UserName.setText(leaderBoardModels.get(1).getName()); | |
| st2Points.setText(leaderBoardModels.get(1).getPoints() + ""); | |
| Picasso.with(LeaderBoardActivity.this).load(leaderBoardModels.get(1).getPhoto()).into(st2_user_photo); | |
| st3UserName.setText(leaderBoardModels.get(2).getName()); | |
| Picasso.with(LeaderBoardActivity.this).load(leaderBoardModels.get(2).getPhoto()).into(st3_user_photo); | |
| st3Points.setText(leaderBoardModels.get(2).getPoints() + ""); | |
| leaderBoardModels.clear(); | |
| leaderBoardModels.addAll(objects.subList(3, (objects.size() - 1))); | |
| adapter.notifyDataSetChanged(); | |
| } | |
| } | |
| @Override | |
| public void onSuccess(LeaderBoardModel leaderBoardModel, int source) { | |
| } | |
| @Override | |
| public void onFail(Exception e) { | |
| } | |
| @Override | |
| public void onFail(Object o, boolean isConnectToInternet) { | |
| } | |
| }); | |
| } | |
| @Override | |
| public boolean onOptionsItemSelected(MenuItem item) { | |
| switch (item.getItemId()) { | |
| case android.R.id.home: | |
| finish(); | |
| break; | |
| } | |
| return super.onOptionsItemSelected(item); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment