현재 이미지를 배열로받아와서 백그라운드의 이미지 변경으로 화면전환을 하고 있습니다.
근대 현재 이미지가 아닌 텍스를 받아와서 할려고 합니다.
디비에서 값을 불러와 텍스트에 뿌려주고 다음 화면 전환시 다음의 디비값을 불러와서 보여주려고 하는데
힘드네요,.
public class ExamAct_2012_3 extends Activity {
private final int COUNT = 10; // 아이템 갯수
private int mPrevPosition; // 이전에 선택되었던 포지션 값
private ViewPager mPager; // 뷰 페이저
private LinearLayout mPageMark; // 현재 몇 페이지 인지 나타내는 뷰
Cursor cursor;
int i;
// 아이템의 배경화면 색상. 아이템을 구분하기 위해.
private Button nextButton;
private TextView questionText;
private TextView answerText;
private ImageView image;
private int imageIndex;
private int[] GalImages = new int[] { R.drawable.a1, R.drawable.a2,
R.drawable.a3, R.drawable.a4, R.drawable.a5, R.drawable.a6,
R.drawable.a7, R.drawable.a8, R.drawable.a9, R.drawable.a10 };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exam_2012_3);
nextButton = (Button) findViewById(R.id.button1);
questionText = (TextView) findViewById(R.id.textView1);
answerText = (TextView) findViewById(R.id.textView2);
image = (ImageView) findViewById(R.id.imageView1);
image.setVisibility(View.GONE);
mPageMark = (LinearLayout) findViewById(R.id.layout2012_3); // 상단의 현재
mPager = (ViewPager) findViewById(R.id.view_pager); // 뷰 페이저
mPager.setAdapter(new BkPagerAdapter(getApplicationContext()));// PagerAdapter로
// 설정
mPager.setCurrentItem(COUNT); // 무한 스크롤 하기 위해서는 아이템을 3배로 가지고 있고 그 중 가운데
// 범위의 아이템만 보이게 한다
mPager.setOnPageChangeListener(new OnPageChangeListener() { // 아이템이
@Override
public void onPageScrolled(int position, float positionOffest,
int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
initPageMark(); // 현재 페이지 표시하는 뷰 초기화
}
private void initPageMark() {
/*
* for (int i = 0; i < COUNT; i++) { ImageView iv = new
* ImageView(getApplicationContext()); // 페이지 표시 이미지 // 뷰 생성
* iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
* LayoutParams.WRAP_CONTENT));
*
* // 첫 페이지 표시 이미지 이면 선택된 이미지로 if (i == 0)
* iv.setBackgroundResource(R.drawable.page_select); else // 나머지는 선택안된
* 이미지로 iv.setBackgroundResource(R.drawable.page_not);
*
* // LinearLayout에 추가 mPageMark.addView(iv); } mPrevPosition = 0; // 이전
* 포지션 값 초기화
*/}
// Pager 아답터 구현
private class BkPagerAdapter extends PagerAdapter {
private Context mContext;
public BkPagerAdapter(Context con) {
super();
mContext = con;
}
@Override
public int getCount() {
return COUNT * 3;
}
@Override
public Object instantiateItem(View pager, int position) {
SQLiteDatabase db;
db = openOrCreateDatabase("dbTest.db", MODE_PRIVATE, null);
db.execSQL("drop table if exists test"); // test란 테이블이있으면 드롭
db.execSQL("create table if not exists"
+ " test(question text,image text,answer1 text,answer2 text,answer3 text,answer4 text)");
db.execSQL("insert into test values"
+ "('1.지금 현재 테스트 중인 이것은 1번 문제입니다.알겠냐 시부럴놈아',null,'가.이건 1번문제 정답이다.알겠냐 시부럴놈아','나.이건 2번문제 정답이다.알겠냐 시부럴놈아','다.이건 3번문제 정답이다.알겠냐 시부럴놈아','라.이건 4번문제 정답이다.알겠냐 시부럴놈아')");
db.execSQL("insert into test values"
+ "('2.지금 현재 테스트 중인 이것은 2번 문제입니다.알겠냐 시부럴놈아','a2.png','가.이건 1번문제 정답이다.알겠냐 시부럴놈아','나.이건 2번문제 정답이다.알겠냐 시부럴놈아','다.이건 3번문제 정답이다.알겠냐 시부럴놈아','라.이건 4번문제 정답이다.알겠냐 시부럴놈아')");
db.execSQL("insert into test values"
+ "('3.지금 현재 테스트 중인 이것은 3번 문제입니다.알겠냐 시부럴놈아',null,'가.이건 1번문제 정답이다.알겠냐 시부럴놈아','나.이건 2번문제 정답이다.알겠냐 시부럴놈아','다.이건 3번문제 정답이다.알겠냐 시부럴놈아','라.이건 4번문제 정답이다.알겠냐 시부럴놈아')");
db.execSQL("insert into test values"
+ "('4.지금 현재 테스트 중인 이것은 4번 문제입니다.알겠냐 시부럴놈아','a4.png','가.이건 1번문제 정답이다.알겠냐 시부럴놈아','나.이건 2번문제 정답이다.알겠냐 시부럴놈아','다.이건 3번문제 정답이다.알겠냐 시부럴놈아','라.이건 4번문제 정답이다.알겠냐 시부럴놈아')");
db.execSQL("insert into test values"
+ "('5.지금 현재 테스트 중인 이것은 5번 문제입니다.알겠냐 시부럴놈아',null,'가.이건 1번문제 정답이다.알겠냐 시부럴놈아','나.이건 2번문제 정답이다.알겠냐 시부럴놈아','다.이건 3번문제 정답이다.알겠냐 시부럴놈아','라.이건 4번문제 정답이다.알겠냐 시부럴놈아')");
position %= COUNT;
TextView tv = new TextView(mContext); // 텍스트뷰
if (db != null) {
cursor = db.rawQuery("select * from test", null);
if (cursor.moveToFirst()) {
questionText.setText(cursor.getString(0));
answerText.setText(cursor.getString(2) + "\n\n"
+ cursor.getString(3) + "\n\n"
+ cursor.getString(4) + "\n\n"
+ cursor.getString(5));
if (cursor.getString(1) != null) {
image.setVisibility(View.VISIBLE);
image.setBackgroundResource(GalImages[imageIndex]);
imageIndex++;
}
tv.setText("조우까" + (position + 1) + cursor.getString(0)); // 글자지정
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24); // 글자 크기
// 24sp
cursor.moveToNext();
}// 색상은
} // 배경과
((ViewPager) pager).addView(tv, 0); // 뷰 페이저에 추가
return tv;
}
// 뷰 객체 삭제.
@Override
public void destroyItem(View pager, int position, Object view) {
((ViewPager) pager).removeView((View) view);
}
// instantiateItem메소드에서 생성한 객체를 이용할 것인지
@Override
public boolean isViewFromObject(View view, Object obj) {
return view == obj;
}