У меня есть TableLayout
, для которого я добавил строки динамически. В каждом из строк есть 2 элемента, из которых один - TextView
, другой - Button
. Когда я нажимаю кнопку, которая присутствует в строке, эта строка должна быть удалена. Как это можно сделать в Android? Как найти rowid и как удалить строку динамически. Может ли кто-нибудь помочь мне в решении этой проблемы.Удалите строку динамически из таблицы в android
2
A
ответ
6
onClick на кнопке даст вам щелчок, кнопка в вашем случае. Родитель этой кнопки - это строка, которую вы хотите удалить. Удаление этой строки из ее родителя избавится от нее.
примера того, как можно реализовать это:
button.setOnClickListener(new OnClickListener()
{
@Override public void onClick(View v)
{
// row is your row, the parent of the clicked button
View row = (View) v.getParent();
// container contains all the rows, you could keep a variable somewhere else to the container which you can refer to here
ViewGroup container = ((ViewGroup)row.getParent());
// delete the row and invalidate your view so it gets redrawn
container.removeView(row);
container.invalidate();
}
});
3
Вам необходимо назначить идентификатор для динамического добавления строк и с использованием того, что вы можете получить значение этой конкретной строки или вы можете также удалить строка, которую вы нажимаете на кнопку строки.
В OnCreate(): -
addButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mTable.addView(addRow(mInput.getText().toString()));
}
});
private TableRow addRow(String s) {
TableRow tr = new TableRow(this);
tr.setId(1000 + sCount);
tr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.FILL_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
TableRow.LayoutParams tlparams = new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT);
TextView textView = new TextView(this);
textView.setLayoutParams(tlparams);
textView.setText("New text: " + s);
tr.addView(textView);
TableRow.LayoutParams blparams = new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.WRAP_CONTENT);
final Button button = new Button(this);
button.setLayoutParams(blparams);
button.setText(" - ");
button.setId(2000 + sCount);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
mTable.removeView(findViewById(v.getId() - 1000));
}
});
tr.addView(button);
sCount++;
return tr;
}
TableLayout: -
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/add"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TableLayout
android:id="@+id/table1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableLayout>
</LinearLayout>
</ScrollView>
Смежные вопросы
- 1. удалите строку из динамически созданной таблицы с помощью jquery
- 2. Android - удалите строку из sqlite
- 3. Динамически добавить строку таблицы в Android?
- 4. Удалите последнюю строку из карты Google Android
- 5. Удалите URL поиска строку из Android/Iphone
- 6. удалите строку в виде таблицы в swift
- 7. Удалите одну строку таблицы в цикле
- 8. Удалите int динамически из таблицы create, используя preg_replace
- 9. удалите строку таблицы и вызов ajax
- 10. Удалите первую строку таблицы Twitter Bootstrap
- 11. удалите определенную строку таблицы, используя php
- 12. я хочу, чтобы переместить одну строку таблицы в другую и удалите эту строку из старой таблицы
- 13. Удалите строку таблицы на основе двух данных
- 14. удалите строку таблицы при нажатии кнопки
- 15. Android - удалите строку из списка из списка нажатием кнопки
- 16. удалите строку из начала буфера
- 17. удалите конкретного пользователя из таблицы
- 18. Удалить динамически добавленную строку таблицы
- 19. Updata И удалите из таблицы
- 20. Как удалить строку из таблицы в android?
- 21. Изменить цвет фона динамически добавить строку таблицы в Android
- 22. Динамически генерирующие таблицы Android
- 23. Добавить флажок в динамически добавленную строку таблицы
- 24. Динамически вставлять шаблон в строку таблицы
- 25. поля данных Удалите динамически
- 26. Удалите все строки из таблицы, бросает nullpointer
- 27. Удалите один макет из списка динамически
- 28. Удалите любую строку из rtb1 из rtb2
- 29. удалите строку из массива с помощью matlab
- 30. Удалите n из m строк из таблицы
Покажите нам код? что вы сделали до сих пор? нам нужно знать, как вы реализовали список – Th0rndike
Смотрите здесь: http://stackoverflow.com/questions/3905616/how-to-delete-a-row-in-tablelayout-dynamically – MAV