안드로이드 개발 질문/답변
(글 수 45,052)
DB 에 있는 내용을 Simplecursoradapter 를 이용하여 필요한 부분만 ListView 에 넣어주었습니다.
이때 리스트뷰에 표기할 내용은 레이아웃은 schdedule.xml 에 새로 만들었습니다. schedule.xml 에 이미지를 넣고 버튼 처럼 사용하기 위해서 android:clickable="true" 로 하면된다길래 해주었습니다.
리스트뷰 클릭도 되고 이미지 클릭해서 다른것도 보여주고 싶어서 일단은 list.setOnItemClickListener(mItemClickListener);
를 넣어주어 클릭해서 원하는 내용이 나오게 했습니다.
그런데 이미지는 클릭이 안되고 클릭해도 에러가 나고 그렇습니다.
어떻게 해야 이미지 클릭할수 있는지요? 도와주세요~
- SimpleCursorAdapter 이용해서 DB 내용 리스트뷰에 보여주기 -
ScheduleDB mHelper; Cursor cursor; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scheduleview); mHelper = new ScheduleDB(this); SQLiteDatabase db = mHelper.getWritableDatabase(); cursor = db.rawQuery("SELECT * FROM aaa", null); startManagingCursor(cursor); SimpleCursorAdapter Adapter = null; Adapter = new SimpleCursorAdapter(this, R.layout.schedule, cursor, new String[] { "_id", "aMonth", "aDay", "dWeek", "result" }, new int[] { R.id.index, R.id.testmonth, R.id.testday, R.id.testweek, R.id.resultdate}); ListView list = (ListView)findViewById(R.id.slist); list.setAdapter(Adapter); list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); list.setOnItemClickListener(mItemClickListener); }
- 이미지 클릭해서 내용 보여주기 위한 리스너 - 이부분이 안됩니다.
AdapterView.OnItemClickListener mItemClickListener = new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id){ ImageView img = (ImageView)view.findViewById(R.id.addbtn); img.setClickable(true); img.setOnClickListener(new ImageView.OnClickListener(){ public void onClick(View v){ TextView index = (TextView)v.findViewById(R.id.index); String str=null; str = index.getText().toString(); Toast.makeText(Schedule_view.this, str, Toast.LENGTH_SHORT).show(); } }); } };