У меня есть 2 мероприятия. Первый отображает список данных, полученных из таблицы MySQL. При нажатии на элемент списка открывается следующее действие, в котором будет отображаться информация о нажатом элементе. Но для этого мне нужно создать новый запрос к базе данных и получить только столбец, который я передал в качестве «id» из listview
MainAcitvity
public class MainActivity extends AppCompatActivity {
ListView listView;
DataBase dataBase;
SQLiteDatabase sqLiteDatabase;
FloatingActionButton fabMain;
MySimpleAdapter simpleCursorAdapter;
Cursor cursor;
Task taskClass;
TextView tvTitleItemList, tvTextItemList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fabMain = findViewById(R.id.fab_main);
listView = findViewById(R.id.rv_list);
tvTitleItemList = findViewById(R.id.tv_title_item_list);
tvTextItemList = findViewById(R.id.tv_text_item_list);
dataBase = new DataBase(this);
sqLiteDatabase = dataBase.getWritableDatabase();
//next activity and add in database
fabMain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
//get
cursor = sqLiteDatabase.query(dataBase.DATABASE_TABLE, null, null, null, null, null, null);
simpleCursorAdapter = new MySimpleAdapter(MainActivity.this, cursor, 0);
listView.setAdapter(simpleCursorAdapter);
//delete
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this, TaskActivity.class );
String value = simpleCursorAdapter.id;
intent.putExtra("id", value);
startActivity(intent);
}
});
}
@Override
protected void onRestart() {
super.onRestart();
simpleCursorAdapter = new MySimpleAdapter(MainActivity.this, cursor, 0);
listView.setAdapter(simpleCursorAdapter);
}
действия, в котором вам нужно повторно создать запрос к базе данных по идентификатору
public class TaskActivity extends AppCompatActivity {
TextView tvTitleActivityTask, tvTextActivityTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task);
tvTitleActivityTask = findViewById(R.id.tv_title_activity_task);
tvTextActivityTask = findViewById(R.id.tv_text_activity_task);
Intent intent = getIntent();
intent.getExtras();
String valueId = intent.getStringExtra("id");
}
}
PS мне нужно снова запросить данные из базы, но я не могу передать идентификатор в запрос. Как мне передать его?