我的应用程序上有一个屏幕,用户应该能够添加提醒,然后使用开关单独切换它们(参见下面的屏幕截图)
我的问题是,有什么方法可以使用Java从应用程序屏幕添加/删除文本视图和切换?
我是应用开发的新手,所以如果这是微不足道或不可能的话,我很抱歉! 干杯,奥利
答案 0 :(得分:1)
在线性布局中添加textView:
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
TextView textView= new TextView(this);
textView.setText("some text");
ll.addView(textView);
删除线性布局中的textView:
LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
TextView tV = (TextView) findViewById(R.id.textView);
ll.removeView(tV);
答案 1 :(得分:0)
最简单的情况(在我看来)是添加最大数量的内部布局(TextView +切换开关)并使用Visibility.GONE/INVISIBLE
等。
如果你想动态地这样做,你可以使用RecyclerView
,并拥有那些列表,你会遇到一些处理用户输入的挑战,但它并不困难。
答案 2 :(得分:0)
对于每个提醒,请展开包含TextView
和Switch
的布局,并将其添加到您的父布局中。例如。您的父布局名为layoutReminders
:
for (Reminder reminder : reminderList) {
View reminderView = LayoutInflater.from(this).inflate(
R.layout.item_reminder, layoutReminders, false);
TextView textReminder = (TextView) reminderView.findViewById(R.id.textReminder);
Switch switchReminder = (Switch) reminderView.findViewById(R.id.switchReminder);
textReminder.setText(reminder.getDescription());
switchReminder.setChecked(reminder.isChecked());
switchReminder.setOnCheckedListener(new OnCheckedListener() ...);
layoutReminder.addView(reminderView);
}
在OnCheckedListener中,您相应地更新reminderList
和布局。