Код: Выделить всё
int nameColumn= tableCursor.getColumnIndex("someColumn");
String reserveName = tableCursor.getString(nameSome);
final TableLayout tl = (TableLayout) findViewById(R.id.mainLayout);
TableRow tr = new TableRow(this);
registerForContextMenu(tl);
tl.setStretchAllColumns(true);
tl.setShrinkAllColumns(true);
tr.setGravity(Gravity.CENTER);
tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
TextView textview = new TextView(this);
textview.setText(reserveName);
textview.setTextColor(Color.BLACK);
textview.setTextSize(20);
textview.setGravity(Gravity.START);
tr.addView(textview);
Код: Выделить всё
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
if (v.getId()==R.id.mainLayout) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
menu.setHeaderTitle("Delete row?");
menu.add(0, 0, 0, "Yes");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getItemId() == 0) {
Log.d(LOG_TAG, "ПРОВЕРКА!");
return true;
}
return super.onContextItemSelected(item);
}
P.S. пробовал удалять через onLongClick - прекрасно работает, но метод onLongClick находится непосредственно в месте, где создаются Table Row`s, поэтому и работает. Надеюсь на Вашу помощь
UPP Вот решение, может кому пригодится
Код: Выделить всё
tr.setOnLongClickListener(new View.OnLongClickListener()
{
@Override
public boolean onLongClick(final View v)
{
TableRow t = (TableRow) v;
TextView firstTextView = (TextView) t.getChildAt(0);
final String firstText = firstTextView.getText().toString();
PopupMenu popup = new PopupMenu(MainActivity.this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.popup_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
{
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu1:
Log.d(LOG_TAG, firstText);
tl.removeView(v);
return true;
default:
return false;
}
}
});
popup.show();
return true;
}
});