ты запутался потому, что меня не слушаешь.
я правда стараюсь)
а это что? m_id = id; ??
это там я так делаю и работаю с m_id
Код: Выделить всё
Message.title = db.getTitle(m_id);
Message.latitude = db.getLatitude(m_id);
Message.longitude = db.getLongitude(m_id);
и это? IDM_ACTION?
Это контекстное меню при нажатии
Может фигово пояснил, на всякий случай вот код первой активити
Код: Выделить всё
package com.shop.database;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class ShopActivity extends Activity {
ListView lvData;
DB db;
SimpleCursorAdapter scAdapter;
Cursor cursor;
public static ShopActivity m_self;
public static int remove = 0;
long m_id = 0;
private final int IDM_ACTION = 0;
private final int IDM_EXIT = 1;
private final int IDM_REMOVE = 2;
private final int IDM_CRASH = 3;
final CharSequence[] mActions = { "Редактировать", "Товары", "Удалить", "Отмена" };
public ShopActivity() {
m_self = this;
}
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// открываем подключение к БД
db = new DB(this);
db.open();
// получаем курсор
refreshCursor();
// формируем столбцы сопоставления
String[] from = new String[] { DB.COLUMN_ID, DB.COLUMN_TITLE,
DB.COLUMN_LATITUDE, DB.COLUMN_LONGITUDE };
int[] to = new int[] { R.id.itemID, R.id.itemTitle, R.id.itemlatitude,
R.id.itemLongitude };
// создааем адаптер и настраиваем список
scAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, from,
to);
lvData = (ListView) findViewById(R.id.lvData);
lvData.setAdapter(scAdapter);
lvData.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
m_id = id;
showDialog(IDM_ACTION);
}
});
}
void editDate() {
Intent iMessage = new Intent(getApplicationContext(), Message.class);
startActivity(iMessage);
remove = 1;
Message.title = db.getTitle(m_id);
Message.latitude = db.getLatitude(m_id);
Message.longitude = db.getLongitude(m_id);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, IDM_CRASH, Menu.NONE, "Закрыть приложение")
.setIcon(R.drawable.menu_exit);
return (super.onCreateOptionsMenu(menu));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case IDM_CRASH: {
onBackPressed();
}
break;
}
return (super.onOptionsItemSelected(item));
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case IDM_ACTION:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Выберите действие");
builder.setItems(mActions, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
// редактировать
if (item == 0) {
editDate();
}
// товары
if (item == 1) {
//m_id
Intent Food = new Intent(getApplicationContext(), Food.class);
startActivity(Food);
}
// удалить
if (item == 2) {
showDialog(IDM_REMOVE);
}
// отмена
if (item == 3) {
dialog.cancel();
}
}
});
builder.setCancelable(false);
return builder.create();
default:
case IDM_EXIT:
AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
builder1.setMessage("Хотите выйти?");
builder1.setPositiveButton("Да",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
ShopActivity.this.finish();
}
});
builder1.setNegativeButton("Нет",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder1.setCancelable(false);
return builder1.create();
case IDM_REMOVE:
AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
builder2.setMessage("Удалить?");
builder2.setPositiveButton("Да",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
if (m_id != 0)
m_delRec();
}
});
builder2.setNegativeButton("Нет",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder2.setCancelable(false);
return builder2.create();
}
}
// обновляем курсор
void refreshCursor() {
stopManagingCursor(cursor);
cursor = db.getAllData();
startManagingCursor(cursor);
}
// обработка нажатия кнопки
public void onButtonClick_addRec(View view) {
Intent iMessage = new Intent(this, Message.class);
startActivity(iMessage);
}
public void addReccordToDB(String title, String latitude, String longitude) {
// удаляем старую запись
if (m_id != 0)
m_delRec();
// добавляем запись
db.addRec(title, latitude, longitude);
// обновляем курсор
refreshCursor();
// даем адаптеру новый курсор
scAdapter.changeCursor(cursor);
m_id = 0;
}
void m_delRec() {
db.delRec(m_id);
// обновляем курсор
refreshCursor();
// даем адаптеру новый курсор
scAdapter.changeCursor(cursor);
m_id = 0;
}
protected void onDestroy() {
super.onDestroy();
// закрываем подключение при выходе
db.close();
}
@Override
public void onBackPressed() {
showDialog(IDM_EXIT);
}
}
Вот тут у тебя не переменная num2, а строчка "num2"! Просто слово такое)
А когда ты вписываешь в кавычки единичку - оно конечно тебе в цифру 1 преобразовало ))
Это я уже понял))
Фэйл с ковычками осознан
Чуточку понятно?
Определённо!
Пишу
public Cursor getFoodData(int id) {
String sqlQuery = "select * from Food where _id = ?";
Cursor cursor = mDB.rawQuery(sqlQuery, new String[] { id });
return cursor;
Если я всё правильно понял, то теперь надо как-то перегнать int id в String id. Как на счёт такого?
Код: Выделить всё
public Cursor getFoodData(int id) {
StringBuilder sb = new StringBuilder(); sb.append(""); sb.append(id); String m_id = sb.toString();
String sqlQuery = "select * from Food where _id = ?";
Cursor cursor = mDB.rawQuery(sqlQuery, new String[] { m_id });
return cursor;
}