-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


remove tablerow

Четверг, 28 Января 2021 г. 12:34 + в цитатник
Vashnaemnik: Добрый день. Надеюсь мне с этим вопросом помогут.
Есть страница пользователя, где он добавляем людей. Все отлично работает. В меню есть пункт добавить человека. Пользователь вводит данные, и строка добавляется в таблицу.
Пример на картинке не могу прикрепить почему то.
В каждой строке есть корзина, ее id mark.
Но теперь мне надо, что бы при нажатии корзины, строка удалялась. Но никак не получается.
Вот код страницы:
    package com.example.monitoringchildrensnutrition;
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AlertDialog;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.appcompat.widget.Toolbar;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.graphics.drawable.Drawable;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.text.TextUtils;
    import android.text.style.BackgroundColorSpan;
    import android.util.AttributeSet;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.RelativeLayout;
    import android.widget.SeekBar;
    import android.widget.TableLayout;
    import android.widget.TableRow;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.view.View.OnClickListener;
    import com.divyanshu.colorseekbar.ColorSeekBar;
    import com.google.android.material.bottomsheet.BottomSheetDialog;
    public class EducatorPage extends AppCompatActivity implements OnClickListener {
    Toolbar toolbar;
    //изменение цвета
    View view;
    ColorSeekBar colorSeekBar;
    int i;
    Button btnColorTable;
    TextView name_educator;
    String Value;
    String Value1;
    //сохраняем данные
    SharedPreferences sharedPreferences;
    //берем сохраненные данные
    SharedPreferences preferences;
    //для добавления ребенка
    AlertDialog.Builder dialogBuilder;
    AlertDialog dialog;
    EditText personal_account, surname_child, name_child, patronymic_child;
    Button add_to, cancellation;
    //добавляем ребенка в таблицу
    TableLayout table_children;
    TableRow tr;
    TextView number, fio_child, number_lc, balance;
    //нумерация строк
    static int count = 1;
    //удаляем ребенка
    ImageView mark;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.educator_page);
    toolbar = findViewById(R.id.toolbar_educator);
    setSupportActionBar(toolbar);
    view = (View) findViewById(R.id.view);
    colorSeekBar = (ColorSeekBar) findViewById(R.id.color_seekbar);
    btnColorTable = (Button) findViewById(R.id.btnColorTable);
    name_educator = (TextView) findViewById(R.id.name_educator);
    //невидимость для изменения цвета
    btnColorTable.setVisibility(View.INVISIBLE);
    colorSeekBar.setVisibility(View.INVISIBLE);
    //запоминаем ко всем данным
    sharedPreferences = getSharedPreferences("USER_DATA", MODE_PRIVATE);
    //берем сохраненные данные воспитателя
    preferences = getSharedPreferences("USER_DATA", MODE_PRIVATE);
    String name = preferences.getString("NAME", "");
    String surname = preferences.getString("SURNAME", "");
    String patronymic = preferences.getString("PATRONYMIC", "");
    //берем сохраненный цвет фона
    i = preferences.getInt("COLOR", i);
    view.setBackgroundColor(i);
    //вписываем нужный текст в TextView
    Value = "Воспитатель:" + " " + surname + " " + name + " " + patronymic;
    name_educator.setText(Value);
    //добавляем ребенка в таблицу
    table_children = (TableLayout) findViewById(R.id.table_children);
    tr = (TableRow) findViewById(R.id.row);
    balance = (TextView) findViewById(R.id.balance);
    mark = (ImageView) findViewById(R.id.mark);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_educator, menu);
    return true;
    }
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.color_table) {
    btnColorTable.setVisibility(View.VISIBLE);
    colorSeekBar.setVisibility(View.VISIBLE);
    colorSeekBar.setOnColorChangeListener(new ColorSeekBar.OnColorChangeListener() {
    @Override
    public void onColorChangeListener(int i) {
    view.setBackgroundColor(i);
    //сохраняем выбранный цвет
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putInt("COLOR", i);
    editor.apply();
    }
    });
    btnColorTable.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(EducatorPage.this);
    builder.setMessage("Подтверждаете ваш выбор?");
    builder.setCancelable(true);
    builder.setNegativeButton("нет", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();
    }
    });
    builder.setPositiveButton("Да", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    btnColorTable.setVisibility(View.INVISIBLE);
    colorSeekBar.setVisibility(View.INVISIBLE);
    Toast.makeText(getApplicationContext(), "Цвет сохранен", Toast.LENGTH_SHORT).show();
    }
    });
    AlertDialog alertDialog = builder.create();
    alertDialog.show();
    }
    });
    } else if (id == R.id.add_child) {
    dialogBuilder = new AlertDialog.Builder(this);
    final View add_child = getLayoutInflater().inflate(R.layout.add_child, null);
    personal_account = (EditText) add_child.findViewById(R.id.personal_account);
    surname_child = (EditText) add_child.findViewById(R.id.surname_child);
    name_child = (EditText) add_child.findViewById(R.id.name_child);
    patronymic_child = (EditText) add_child.findViewById(R.id.patronymic_child);
    add_to = (Button) add_child.findViewById(R.id.add_to);
    cancellation = (Button) add_child.findViewById(R.id.cancellation);
    dialogBuilder.setView(add_child);
    dialog = dialogBuilder.create();
    dialog.show();
    add_to.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    if (!TextUtils.isEmpty(personal_account.getText().toString()) && !TextUtils.isEmpty(surname_child.getText().toString()) && !TextUtils.isEmpty(name_child.getText().toString()) &&
    !TextUtils.isEmpty(patronymic_child.getText().toString())) {
    //находим таблицу
    TableLayout tableLayout = (TableLayout) findViewById(R.id.table_children);
    //создаем экземпляр для создания строки
    LayoutInflater inflater = LayoutInflater.from(EducatorPage.this);
    //создаем строку
    TableRow tr = (TableRow) inflater.inflate(R.layout.table_row_plus, null);
    //находим ячейки и вставляем значения
    number = (TextView) tr.findViewById(R.id.number);
    //для нумерации строк
    int aInt = count++;
    String aString = Integer.toString(aInt);
    number.setText(aString);
    //вставляем остальные значения
    fio_child = (TextView) tr.findViewById(R.id.fio_child);
    //переводим введенные значения
    String tv1 = surname_child.getText().toString();
    String tv2 = name_child.getText().toString();
    String tv3 = patronymic_child.getText().toString();
    //соединяем для вставки ФИО
    Value1 = tv1 + " " + tv2 + " " + tv3;
    fio_child.setText(Value1);
    number_lc = (TextView) tr.findViewById(R.id.number_lc);
    String tv4 = personal_account.getText().toString();
    number_lc.setText(tv4);
    //добавляем строку
    tableLayout.addView(tr);
    dialog.dismiss();
    Toast.makeText(getApplicationContext(), "Ребенок добавлен", Toast.LENGTH_SHORT).show();
    } else {
    Toast.makeText(getApplicationContext(), "Заполните все поля", Toast.LENGTH_SHORT).show();
    }
    }
    });
    cancellation.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    dialog.dismiss();
    }
    });
    } else if (id == R.id.exit) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(EducatorPage.this);
    builder.setMessage("Вы действительно хотите выйти?");
    builder.setCancelable(true);
    builder.setNegativeButton("нет", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();
    }
    });
    builder.setPositiveButton("Да", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    startActivity(intent);
    }
    });
    AlertDialog alertDialog = builder.create();
    alertDialog.show();
    } else if (id == R.id.delete) {
    Toast.makeText(getApplicationContext(), R.string.delete, Toast.LENGTH_SHORT).show();
    }
    return true;
    }
    @Override
    public void onClick(View v) {
    mark.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    Toast.makeText(getApplicationContext(), "Строчка удалена", Toast.LENGTH_SHORT).show();
    }
    });
    }
    }


Подскажите, что у меня не так?

https://forum.sources.ru/index.php?showtopic=421146&view=findpost&p=3844119

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку