У меня есть список, этот список в основном представляет собой TableRows в scrollview, который я надувал с помощью inflater макета, т.е. во время выполнения зависит, сколько строк добавляется.Теперь у меня есть кнопка, также прикрепленная в каждом ряду.Эта кнопка является либо кнопкой удаления, либо кнопкой редактирования.Перед программированием я думал, что просто получу идентификатор строки и вызову функцию удаления для этого идентификатора строки.Но теперь, когда я программирую, я вижу, что не могу найти идентификатор строки, потому что кнопка - это всегда одна и та же кнопка, и как кнопка узнает, с какой именно строкой она связана.Я в основном занимаюсь программированием баз данных, где я взял много пользовательского ввода и отобразил его в строке таблицы в представлении прокрутки.Но я не знаю, как мне получить эти строки.На данный момент я не использую какой-либо список массивов или адаптер массива.Нужно ли их использовать, чтобы решить эту проблему?Пожалуйста, помогите.
Я ввожу свой код здесь
if(dbExists)
{
myName = (TextView)findViewById(R.id.myName);
db.open();
Cursor c = db.getAllTitles();
long NoOfRows = c.getCount(); //here I am gettin 30 as entered in database
while(NoOfRows >= 1)
{
c.moveToFirst();
//.........Inflate here name and number........
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflated = inflater.inflate(R.layout.name, myTableLayout);
TextView userName = (TextView)findViewById(R.id.myName);
userName.setText(c.getString(1));//here I am settng the user entered name
Button delButton = (Button)rowView.findViewById(R.id.Delete_Name);
delButton.setTag(RowId--);
delButton.setOnClickListener(this);
c.moveToNext();
NoOfRows--;
}
db.close();
}
@Override
public void onClick(View v) {
Long rowId = (Long)v.getTag();
if (rowId != null)
{
Toast.makeText(this, "rows get Tag() " + rowId, Toast.LENGTH_LONG).show();
//db.deleteTitle(rowId);
}
}