1
이 애플리케이션에 대한 지원이 필요합니다. 안드로이드 앱에 데이터베이스를 삽입하고 싶습니다. 내 테이블에는 3 열 (_id, 제목, 텍스트)이 있습니다. 앱의 첫 번째 페이지는 목록보기에서 제목을 표시하지만 목록에서 항목을 클릭하면 다른 활동에 텍스트가 표시됩니다. 지금까지의 방법은 이렇습니다. (이 프로젝트를 온라인에서 찾았으며 수정했습니다.)android에 사전 입력 된 데이터베이스
package com.softeq.prepopdb.activity;
import java.util.ArrayList;
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.softeq.android.prepopdb.R;
import com.softeq.prepopdb.dbhelper.ExternalDbOpenHelper;
public class PrepopSqliteDbActivity extends ListActivity {
private static final String DB_NAME = "schymn.sqlite";
private static final String TABLE_NAME = "Hymns";
private static final String Hymn_ID = "_id";
private static final String Hymn_Title = "Title";
private static final String Hymn_Text = "Text";
String lyrics;
private SQLiteDatabase database;
private ListView listView;
private ArrayList<String> Songs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ExternalDbOpenHelper dbOpenHelper = new ExternalDbOpenHelper(this, DB_NAME);
database = dbOpenHelper.openDataBase();
fillHymns();
setUpList();
}
private void setUpList() {
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, Songs));
listView = getListView();
/*listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position,long id) {
Toast.makeText(getApplicationContext(),
((TextView) view).getText().toString(),
Toast.LENGTH_SHORT).show();
}
});*/
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position,long id) {
}
});
}
private void fillHymns() {
Songs = new ArrayList<String>();
Cursor hymnCursor = database.query(TABLE_NAME,
new String[]
{Hymn_ID, Hymn_Title,Hymn_Text},
null, null, null, null
, Hymn_Title);
hymnCursor.moveToFirst();
if(!hymnCursor.isAfterLast()) {
do {
String title = hymnCursor.getString(1);
lyrics = hymnCursor.getString(2);
Songs.add(title);
//Songs.add(lyrics);
} while (hymnCursor.moveToNext());
}
hymnCursor.close();
}
}
시도했지만 작동하지 않았습니다.
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position,long id) {
Log.i("text",lyrics);
}
});
}
'Log.i ("text", 가사)'가 다른 활동을 생성하기로되어 있습니까? 'startActivity' 메쏘드를보십시오. – m0skit0
noo, 제목과 관련된 텍스트를 기록한다고 가정합니다. 나는 엑스트라를 의도적으로 전달하는 법을 안다. – olakunle
예외가 발생하고 있습니까? 로그 기록은 무엇입니까? – joao2fast4u