Здравствуйте!
У меня есть готовая БД, содержимое этой БД я хочу вывести в качестве списка через RecyclerViewAdapter. Я так понимаю, что в RecyclerViewAdapter я должен прописать конструктор который передаст в адаптер данные из БД, а MainActivity запросит этот конструктор у RecyclerViewAdapter и выведет его в своем макете. Каким образом мне реализовать это, привожу основные фрагменты кода.
(MainActivity)
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
RecyclerView mRecyclerView;
RecyclerView.Adapter mAdapter;
RecyclerView.LayoutManager mLayoutManager;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new RecyclerViewAdapter(СЮДА НУЖНО ПЕРЕДАТЬ КОНСТРУКТОР ИЗ АДАПТЕРА);
mRecyclerView.setAdapter(mAdapter);
}
(RecyclerViewAdapter)
class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
(Здесь нужно прописать конструктор, который получит данные из бд, затем данные прописать в onBindViewHolder)
@Override
public RecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.card_items, parent, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
viewHolder.nameHeadsRu.setText(AR_NAME[position]);
viewHolder.nameHeadsAr.setText(RU_NAME[position]);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), HeadsActivity.class);
intent.putExtra(HeadsActivity.Extra_Names, position);
v.getContext().startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return AR_NAME.length;
}
static class ViewHolder extends RecyclerView.ViewHolder {
CardView cardView;
TextView nameHeadsRu;
TextView nameHeadsAr;
ViewHolder(final View itemView) {
super(itemView);
cardView = (CardView) itemView.findViewById(R.id.cardView);
nameHeadsRu = (TextView) itemView.findViewById(R.id.nameHAr);
nameHeadsAr = (TextView) itemView.findViewById(R.id.nameHRu);
}
}
}
(Метод получения данных из БД)
TheNameOfDatabaseHelper myDbHelper = new TheNameOfDatabaseHelper(MainActivity.this);
try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Не удалось создать базу данных");
}
myDbHelper.openDataBase();
cursor = myDbHelper.query("M_TABLE", new String[] {"_id", "AR_NAME", "RU_NAME"}, null, null, null, null, null);
CursorAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1,
cursor, new String[]{"AR_NAME", "RU_NAME"}, new int[]{android.R.id.text1}, 0);
listHeads.setAdapter(listAdapter);
}
(Решил проблему) нашел на гитхабе простой пример использования базы данных и вывод списка данных через recyclerview. Создал класс с переменной, конструктор этого класса прописал в recyclerview адаптере, а данные класса прописал в классе получения данных с бд.
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
использую:
Использую библиотеку XChart от knownЕсли кто то пользовался данной библиотекой подскажите, какой метод или какая константа отвечает за сглаживания...