Проблема с СМС в Android - PullRequest
       23

Проблема с СМС в Android

0 голосов
/ 10 июля 2011

Я пытаюсь открыть приложение System SMS с телом sms, которое берется из базы данных.

Я использую Cursor для получения заголовков и сообщений из базы данных SQLite.У меня есть smsButton, на который я нажму.При нажатии это создаст смс-намерение.

Моя проблема с телом сообщения.Я хочу, чтобы тело было msg_content, который извлекается из базы данных.Я пытался получить ссылку на него, но я считаю, что мне это не удалось.

Вот моя последняя попытка, попытка получить TextView, который будет принимать идентификатор макета msg_content:

//First: DataBase Retrieving :
//fetch a msg from table `t` with id `id`
Cursor cursor = myDbHelper.fetchMessage(t, id); 
String[] columns = {cursor.getColumnName(1), cursor.getColumnName(2)}; 
int[] columnsLayouts = {R.id.title, R.id.msg_content}; //the columns styles
ca = new SimpleCursorAdapter(this.getBaseContext(), R.layout.msg_items_layout, cursor,columns , columnsLayouts);
lv = (ListView) findViewById(android.R.id.list); 
lv.setAdapter(ca);

//Here is MY PROBLEM :
TextView msgText = (TextView) findViewById(R.id.msg_content); //same Id as the msg_content column above
smsButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            String uri= "smsto:";
            Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uri));
            intent.putExtra("sms_body", msgText.getText());
            intent.putExtra("compose_mode", true);
            startActivity(intent);
        }
    });

Можно ли ссылаться на строку содержимого?

1 Ответ

0 голосов
/ 10 июля 2011

Вы звоните findViewById() на мероприятии ..., чтобы получить данные из базы данных?

Вам следует использовать Cursor, чтобы получить информацию.

Поскольку выне удосужился предоставить реальный исходный код (просто пара несмежных фрагментов, AFAICT), трудно дать вам конкретный совет.Взяв случайный удар при ответе, я удалил бы smsButton и вместо этого прослушал бы ListView клики по предметам (например, onListItemClick(), если вы реализуете ListActivity), затем используйте предоставленный position, чтобы перейтиправильное место в Cursor и считайте данные.

...