Мне интересно, как я могу сделать так, чтобы в представлении переработчика вводимые данные из editTexts и ввод из флажков отображались в этом представлении переработчика.
В основном мне хотелось бы посмотреть, могут ли отображаться метки флажков из выбранных пользователем флажков плюс ввод из EditTexts, но я не понимаю, как на самом деле отображать метки. Как бы это произошло?
Я потратил несколько дней на эту проблему и дошел до того, что попытался заставить привычки действительно отображаться в представлении переработчика. Однако я заметил, что представление переработчика вообще ничего не отображает, даже если я добавил входные данные как из editTexts, так и из флажков.
Я также работаю с двумя действиями: одно для ввода (Add_Habit_Activity) и одно для отображения (Home_Page_Activity), передавая данные от одного действия к другому. В списке содержатся все необходимые элементы, но я до сих пор не понимаю, почему он до сих пор не отображает эти элементы в представлении переработчика.
Вот код файла Home_page_Activity.java:
public class Home_Page_Activity extends AppCompatActivity {
public Button Add_Habit_button;
public RecyclerView Habit_listRV;
public ArrayList habit_list;
public Habit_Adapter habitAdapter;
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_home_page);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
toolbar = findViewById(R.id.Toolbar_for_Home_page);
setSupportActionBar(toolbar);
Add_Habit_button = findViewById(R.id.Home_Page_Add_a_Habit_button);
Habit_listRV = findViewById(R.id.recyclerview_Home_Page_Habit_list);
Add_Habit_button.setOnClickListener(view -> {
Intent intent = new Intent(Home_Page_Activity.this, Add_Habit_Activity.class);
startActivity(intent);
});
habit_list = new ArrayList(); // Null exception occurred here earlier so i did this
habitAdapter = new Habit_Adapter(habit_list); // Null exception also occurred around here so i also added this line here
habit_list = (ArrayList) getIntent().getSerializableExtra("List");
Habit_listRV.setLayoutManager(new LinearLayoutManager(Home_Page_Activity.this));
Habit_listRV.setAdapter(habitAdapter);
habitAdapter.notifyDataSetChanged();
//Log.d("HOME", "Received habits: " + habit_list.size());
}
}
Вот код файла Add_activity_Activity.java:
public class Add_Habit_Activity extends AppCompatActivity {
public EditText Habit_name_edt;
public EditText Habit_desc_edt;
public EditText Habit_notes_edt;
public CheckBox WHabit;
public CheckBox DHabit;
public CheckBox YHabit;
public CheckBox MHabit;
public Button Add_Habit_btn;
public ArrayList habit_list = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_add_habit);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
Habit_name_edt = findViewById(R.id.AH_Habit_name);
Habit_desc_edt = findViewById(R.id.AH_Habit_description);
Habit_notes_edt = findViewById(R.id.AH_Habit_notes);
WHabit = findViewById(R.id.AH_Weekly_habit);
DHabit = findViewById(R.id.AH_Daily_habit);
YHabit = findViewById(R.id.AH_Yearly_habit);
MHabit = findViewById(R.id.AH_Monthly_habit);
Add_Habit_btn = findViewById(R.id.AH_Add_Habit_Button);
habit_list = new ArrayList();
Add_Habit_btn.setOnClickListener(view -> {
Habit_Data_Model habitDataModel = new Habit_Data_Model();
habitDataModel.setHabit_name(Habit_name_edt.getText().toString());
habitDataModel.setHabit_desc(Habit_desc_edt.getText().toString());
habitDataModel.setHabit_notes(Habit_notes_edt.getText().toString());
habitDataModel.setcheckbox_value_daily(DHabit.isChecked());
habitDataModel.setcheckbox_value_monthly(MHabit.isChecked());
habitDataModel.setcheckbox_value_weekly(WHabit.isChecked());
habitDataModel.setcheckbox_value_yearly(YHabit.isChecked());
habit_list.add(habitDataModel);
Log.d("ADDHB", "Habit list size = " + habit_list.size());
Log.d("ADDHB", "List contents:" + habit_list);
Intent intent = new Intent(Add_Habit_Activity.this, Home_Page_Activity.class);
intent.putExtra("List", (Serializable) habit_list);
startActivity(intent);
});
}
}
Вот код, используемый в файле Habit_Adapter.java:
public class Habit_Adapter extends RecyclerView.Adapter {
public List habit_list;
public Habit_Adapter(List habit_list_){
this.habit_list = habit_list_;
}
@NonNull
@Override
public Habit_ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.habit_layout, parent, false);
return new Habit_ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull Habit_ViewHolder holder, int position) {
Habit_Data_Model habitDataModel = habit_list.get(position);
holder.habit_name.setText(habitDataModel.getHabit_name());
holder.habit_desc.setText(habitDataModel.getHabit_desc());
holder.habit_notes.setText(habitDataModel.getHabit_notes());
holder.Weekly.setChecked(habitDataModel.ischeckbox_value_weekly());
holder.Daily.setChecked(habitDataModel.ischeckbox_value_daily());
holder.Monthly.setChecked(habitDataModel.ischeckbox_value_monthly());
holder.Yearly.setChecked(habitDataModel.ischeckbox_value_yearly());
}
@Override
public int getItemCount() {
return habit_list.size();
}
public static class Habit_ViewHolder extends RecyclerView.ViewHolder {
TextView habit_name, habit_desc, habit_notes;
CheckBox Weekly, Monthly, Daily, Yearly;
public Habit_ViewHolder(@NonNull View itemView) {
super(itemView);
habit_name = itemView.findViewById(R.id.HL_Habit_name);
habit_desc = itemView.findViewById(R.id.HL_Habit_desc);
habit_notes = itemView.findViewById(R.id.HL_Habit_notes);
}
}
}
Вот также файл кода класса модели данных (Habit_Data_Model.java):
public class Habit_Data_Model implements Serializable {
public String habit_name;
public String habit_desc;
public String habit_notes;
public boolean checkbox_value_weekly;
public boolean checkbox_value_daily;
public boolean checkbox_value_monthly;
public boolean checkbox_value_yearly;
public Habit_Data_Model(boolean checkbox_value_yearly, boolean checkbox_value_monthly, boolean checkbox_value_daily, boolean checkbox_value_weekly, String habit_notes, String habit_desc, String habit_name) {
this.checkbox_value_yearly = checkbox_value_yearly;
this.checkbox_value_monthly = checkbox_value_monthly;
this.checkbox_value_daily = checkbox_value_daily;
this.checkbox_value_weekly = checkbox_value_weekly;
this.habit_notes = habit_notes;
this.habit_desc = habit_desc;
this.habit_name = habit_name;
}
public Habit_Data_Model(){}
public String getHabit_name() {
return habit_name;
}
public String getHabit_desc() {
return habit_desc;
}
public String getHabit_notes() {
return habit_notes;
}
public boolean ischeckbox_value_weekly() {
return checkbox_value_weekly;
}
public boolean ischeckbox_value_daily() {
return checkbox_value_daily;
}
public boolean ischeckbox_value_monthly() {
return checkbox_value_monthly;
}
public boolean ischeckbox_value_yearly() {
return checkbox_value_yearly;
}
public void setHabit_name(String habit_name) {
this.habit_name = habit_name;
}
public void setHabit_desc(String habit_desc) {
this.habit_desc = habit_desc;
}
public void setHabit_notes(String habit_notes) {
this.habit_notes = habit_notes;
}
public void setcheckbox_value_weekly(boolean checkbox_value_weekly) {
this.checkbox_value_weekly = checkbox_value_weekly;
}
public void setcheckbox_value_daily(boolean checkbox_value_daily) {
this.checkbox_value_daily = checkbox_value_daily;
}
public void setcheckbox_value_monthly(boolean checkbox_value_monthly) {
this.checkbox_value_monthly = checkbox_value_monthly;
}
public void setcheckbox_value_yearly(boolean checkbox_value_yearly) {
this.checkbox_value_yearly = checkbox_value_yearly;
}
@NonNull
@Override
public String toString() {
return "Habit_Data_Model{" +
"habit_name='" + habit_name + '\'' +
", habit_desc='" + habit_desc + '\'' +
", habit_notes='" + habit_notes + '\'' +
", checkbox_value_weekly=" + checkbox_value_weekly +
", checkbox_value_daily=" + checkbox_value_daily +
", checkbox_value_monthly=" + checkbox_value_monthly +
", checkbox_value_yearly=" + checkbox_value_yearly +
'}';
}// found out how to add this method so that way I could truly see if there was anything being added in the arraylist.
}
Ниже приведен код файла Activity_home_page.xml:
Вот код файла Activity_add_habit.xml:
Ниже приведен код макета (habit_layout.xml), который я использую для представления переработчика:
Подробнее здесь: https://stackoverflow.com/questions/798 ... els-into-a
Как я могу отобразить ввод Edittext и флажка (+ отображение меток флажка) в представлении recyclerview (используя 2 дейс ⇐ Android
Форум для тех, кто программирует под Android
1772483345
Anonymous
Мне интересно, как я могу сделать так, чтобы в представлении переработчика вводимые данные из editTexts и ввод из флажков отображались в этом представлении переработчика.
В основном мне хотелось бы посмотреть, могут ли отображаться метки флажков из выбранных пользователем флажков плюс ввод из EditTexts, но я не понимаю, как на самом деле отображать метки. Как бы это произошло?
Я потратил несколько дней на эту проблему и дошел до того, что попытался заставить привычки действительно отображаться в представлении переработчика. Однако я заметил, что представление переработчика вообще ничего не отображает, даже если я добавил входные данные как из editTexts, так и из флажков.
Я также работаю с двумя действиями: одно для ввода (Add_Habit_Activity) и одно для отображения (Home_Page_Activity), передавая данные от одного действия к другому. В списке содержатся все необходимые элементы, но я до сих пор не понимаю, почему он до сих пор не отображает эти элементы в представлении переработчика.
Вот код файла Home_page_Activity.java:
public class Home_Page_Activity extends AppCompatActivity {
public Button Add_Habit_button;
public RecyclerView Habit_listRV;
public ArrayList habit_list;
public Habit_Adapter habitAdapter;
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_home_page);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
toolbar = findViewById(R.id.Toolbar_for_Home_page);
setSupportActionBar(toolbar);
Add_Habit_button = findViewById(R.id.Home_Page_Add_a_Habit_button);
Habit_listRV = findViewById(R.id.recyclerview_Home_Page_Habit_list);
Add_Habit_button.setOnClickListener(view -> {
Intent intent = new Intent(Home_Page_Activity.this, Add_Habit_Activity.class);
startActivity(intent);
});
habit_list = new ArrayList(); // Null exception occurred here earlier so i did this
habitAdapter = new Habit_Adapter(habit_list); // Null exception also occurred around here so i also added this line here
habit_list = (ArrayList) getIntent().getSerializableExtra("List");
Habit_listRV.setLayoutManager(new LinearLayoutManager(Home_Page_Activity.this));
Habit_listRV.setAdapter(habitAdapter);
habitAdapter.notifyDataSetChanged();
//Log.d("HOME", "Received habits: " + habit_list.size());
}
}
Вот код файла Add_activity_Activity.java:
public class Add_Habit_Activity extends AppCompatActivity {
public EditText Habit_name_edt;
public EditText Habit_desc_edt;
public EditText Habit_notes_edt;
public CheckBox WHabit;
public CheckBox DHabit;
public CheckBox YHabit;
public CheckBox MHabit;
public Button Add_Habit_btn;
public ArrayList habit_list = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_add_habit);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
Habit_name_edt = findViewById(R.id.AH_Habit_name);
Habit_desc_edt = findViewById(R.id.AH_Habit_description);
Habit_notes_edt = findViewById(R.id.AH_Habit_notes);
WHabit = findViewById(R.id.AH_Weekly_habit);
DHabit = findViewById(R.id.AH_Daily_habit);
YHabit = findViewById(R.id.AH_Yearly_habit);
MHabit = findViewById(R.id.AH_Monthly_habit);
Add_Habit_btn = findViewById(R.id.AH_Add_Habit_Button);
habit_list = new ArrayList();
Add_Habit_btn.setOnClickListener(view -> {
Habit_Data_Model habitDataModel = new Habit_Data_Model();
habitDataModel.setHabit_name(Habit_name_edt.getText().toString());
habitDataModel.setHabit_desc(Habit_desc_edt.getText().toString());
habitDataModel.setHabit_notes(Habit_notes_edt.getText().toString());
habitDataModel.setcheckbox_value_daily(DHabit.isChecked());
habitDataModel.setcheckbox_value_monthly(MHabit.isChecked());
habitDataModel.setcheckbox_value_weekly(WHabit.isChecked());
habitDataModel.setcheckbox_value_yearly(YHabit.isChecked());
habit_list.add(habitDataModel);
Log.d("ADDHB", "Habit list size = " + habit_list.size());
Log.d("ADDHB", "List contents:" + habit_list);
Intent intent = new Intent(Add_Habit_Activity.this, Home_Page_Activity.class);
intent.putExtra("List", (Serializable) habit_list);
startActivity(intent);
});
}
}
Вот код, используемый в файле Habit_Adapter.java:
public class Habit_Adapter extends RecyclerView.Adapter {
public List habit_list;
public Habit_Adapter(List habit_list_){
this.habit_list = habit_list_;
}
@NonNull
@Override
public Habit_ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.habit_layout, parent, false);
return new Habit_ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull Habit_ViewHolder holder, int position) {
Habit_Data_Model habitDataModel = habit_list.get(position);
holder.habit_name.setText(habitDataModel.getHabit_name());
holder.habit_desc.setText(habitDataModel.getHabit_desc());
holder.habit_notes.setText(habitDataModel.getHabit_notes());
holder.Weekly.setChecked(habitDataModel.ischeckbox_value_weekly());
holder.Daily.setChecked(habitDataModel.ischeckbox_value_daily());
holder.Monthly.setChecked(habitDataModel.ischeckbox_value_monthly());
holder.Yearly.setChecked(habitDataModel.ischeckbox_value_yearly());
}
@Override
public int getItemCount() {
return habit_list.size();
}
public static class Habit_ViewHolder extends RecyclerView.ViewHolder {
TextView habit_name, habit_desc, habit_notes;
CheckBox Weekly, Monthly, Daily, Yearly;
public Habit_ViewHolder(@NonNull View itemView) {
super(itemView);
habit_name = itemView.findViewById(R.id.HL_Habit_name);
habit_desc = itemView.findViewById(R.id.HL_Habit_desc);
habit_notes = itemView.findViewById(R.id.HL_Habit_notes);
}
}
}
Вот также файл кода класса модели данных (Habit_Data_Model.java):
public class Habit_Data_Model implements Serializable {
public String habit_name;
public String habit_desc;
public String habit_notes;
public boolean checkbox_value_weekly;
public boolean checkbox_value_daily;
public boolean checkbox_value_monthly;
public boolean checkbox_value_yearly;
public Habit_Data_Model(boolean checkbox_value_yearly, boolean checkbox_value_monthly, boolean checkbox_value_daily, boolean checkbox_value_weekly, String habit_notes, String habit_desc, String habit_name) {
this.checkbox_value_yearly = checkbox_value_yearly;
this.checkbox_value_monthly = checkbox_value_monthly;
this.checkbox_value_daily = checkbox_value_daily;
this.checkbox_value_weekly = checkbox_value_weekly;
this.habit_notes = habit_notes;
this.habit_desc = habit_desc;
this.habit_name = habit_name;
}
public Habit_Data_Model(){}
public String getHabit_name() {
return habit_name;
}
public String getHabit_desc() {
return habit_desc;
}
public String getHabit_notes() {
return habit_notes;
}
public boolean ischeckbox_value_weekly() {
return checkbox_value_weekly;
}
public boolean ischeckbox_value_daily() {
return checkbox_value_daily;
}
public boolean ischeckbox_value_monthly() {
return checkbox_value_monthly;
}
public boolean ischeckbox_value_yearly() {
return checkbox_value_yearly;
}
public void setHabit_name(String habit_name) {
this.habit_name = habit_name;
}
public void setHabit_desc(String habit_desc) {
this.habit_desc = habit_desc;
}
public void setHabit_notes(String habit_notes) {
this.habit_notes = habit_notes;
}
public void setcheckbox_value_weekly(boolean checkbox_value_weekly) {
this.checkbox_value_weekly = checkbox_value_weekly;
}
public void setcheckbox_value_daily(boolean checkbox_value_daily) {
this.checkbox_value_daily = checkbox_value_daily;
}
public void setcheckbox_value_monthly(boolean checkbox_value_monthly) {
this.checkbox_value_monthly = checkbox_value_monthly;
}
public void setcheckbox_value_yearly(boolean checkbox_value_yearly) {
this.checkbox_value_yearly = checkbox_value_yearly;
}
@NonNull
@Override
public String toString() {
return "Habit_Data_Model{" +
"habit_name='" + habit_name + '\'' +
", habit_desc='" + habit_desc + '\'' +
", habit_notes='" + habit_notes + '\'' +
", checkbox_value_weekly=" + checkbox_value_weekly +
", checkbox_value_daily=" + checkbox_value_daily +
", checkbox_value_monthly=" + checkbox_value_monthly +
", checkbox_value_yearly=" + checkbox_value_yearly +
'}';
}// found out how to add this method so that way I could truly see if there was anything being added in the arraylist.
}
Ниже приведен код файла Activity_home_page.xml:
Вот код файла Activity_add_habit.xml:
Ниже приведен код макета (habit_layout.xml), который я использую для представления переработчика:
Подробнее здесь: [url]https://stackoverflow.com/questions/79881060/how-can-i-display-edittext-and-checkbox-input-showing-checkbox-labels-into-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия