我尝试删除所有以编程方式添加的按钮,但我遇到了一个小问题。
这是我的代码:
#delete klas
@app.route('/delete_klas/<string:id>')
@is_logged_in
def delete_klas(id):
if 'count' in session.keys():
session['count'] += 1
else:
session['count'] = 1
#create cursor
cur = mysql.connection.cursor()
#execute
cur.execute("DELETE FROM klassen WHERE id = %s", [id])
#commit
mysql.connection.commit()
#close
cur.close
flash('klas verwijdert', 'success')
return redirect(url_for('intranet'))
首先,我在我的数据库中搜索特定产品。我可以得到0,1,2,3 ...... n个元素。对于这些元素,我需要创建一个删除按钮。
我在循环中创建按钮并将它们添加到Button []表中。然后我设置了文本和ID,这些按钮显示在我的视图上。问题是当我想从我的视图中删除它们时。
搜索新产品会删除以前创建的按钮。但是,当我有一个产品,例如,两个元素,然后搜索具有一个元素的产品,从我的视图中只删除了一个按钮。
这是我的删除代码:
buttons = new Button[contacts.length()];
delete_button = new Button(getActivity());
delete_button.setText(String.valueOf(medicine_id));
delete_button.setId(medicine_id);
buttons[i] = delete_button;
layout.addView(delete_button);
https://i.stack.imgur.com/RldJJ.png
https://i.stack.imgur.com/fz3nN.png
https://i.stack.imgur.com/Vz2zA.png
正如您所看到的,在第三张图片上,我的视图中没有一个按钮被移除 - 编号为46的按钮。我应该更改什么?
编辑:我看到Button []&#34;按钮&#34;中的最后一个元素已移除。为什么不删除所有元素?
答案 0 :(得分:2)
根据我的理解,我只是举个例子。您可以删除
之类的观点Android从父级移除视图
View myView = findViewById(R.id.hiddenLayout);
ViewGroup parent = (ViewGroup) myView.getParent();
parent.removeView(myView);
Android删除所有子视图
LinearLayout formLayout = (LinearLayout)findViewById(R.id.formLayout);
formLayout.removeAllViews();