¸®½ºÆ®¸¦ ±¸ÇöÇÏ´Ùº¸¸é °£È¤ È®Àå°¡´ÉÇÑ ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
¸ÕÀú ¿ì¸®°¡ °¡Àå ÈçÈ÷ »ç¿ëÇÏ´Â ListViewÀÇ °æ¿ì¸¦ º¼±î¿ä?
ListView´Â ÁÖ·Î ¾î¶² ¸ñ·ÏÀÇ 1µª½º¸¦ º¸¿©ÁÖ°íÀÚ ÇÒ¶§ »ç¿ë µË´Ï´Ù.
ListView¸¦ »ç¿ëÇϽôٺ¸¸é ¿©·¯°¡Áö setOn ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ½Ç ²®´Ï´Ù.
Index¶ó´øÁö µîµî °ãÃļ »ç¿ëÇÏ´Ùº¸¸é °¡²û setOnItemClickListener°¡ ¾È¸ÔÁÒ.
¿Ö±×·²±î¿ä?
ListView¿¡´Â focus°¡ ±âº»À¸·Î ÁöÁ¤µÇ¾î ÀÖ½À´Ï´Ù.
(ºä¿¡¼ ÀÚµ¿À¸·Î Æ÷Ä¿½º°¡ ÁöÁ¤µÇ´ÂÁö È®ÀÎÇϱâ À§Çؼ´Â avd¿¡¼ ¹æÇâÅ°¸¦ ¾Æ·¡³ª À§·Î ¿òÁ÷¿© ¤±¸ð¾çÀÇ Å׵θ®°¡ »ý±ä´Ù¸é Æ÷Ä¿½º°¡ Àִ°ÍÀÔ´Ï´Ù.)
ListView¿¡ ¿©·¯°¡Áö À̺¥Æ®ÀÎÅÍÆäÀ̽º¸¦ ³Ö¾îµÐ´Ù¸é, ListView´Â focus¸¦ ã±â À§ÇØ
°¢ ÀÎÅÍÆäÀ̽ºÀÇ ¸®ÅÏ°ªÀ» ¹°¾îº¾´Ï´Ù. false ÀÎÁö trueÀÎÁö.
´«Ä¡ ä¼ÌÀ¸·Á³ª ¸ð¸£°ÚÁö¸¸. ÀÎÅÍÆäÀ̽º Áß¿¡ ¸®ÅÏ°ªÀÌ ¾øÀÌ void¸¦ °®´Â ÀÎÅÍÆäÀ̽º°¡ ÀÖÁÒ.
setOnItemClickListenerÀÔ´Ï´Ù.
±×³É Ŭ¸¯¸®½º³Êµµ ¸¶Âù°¡Áö°ÚÁÒ.
ÀÌ ¸®½º³Ê´Â ¸¸¾à À§¿Í °°ÀÌ ListView°¡ Àû´çÇÑ focus¸¦ ãÁö ¸øÇØ À̺¥Æ® ¸®½º³ÊÀÇ ¸®ÅÏ°ªÀ»
¹°¾îº¸´Â »óȲÀÌ µÇ¸é ¸®ÅÏ °ªÀÌ ¾ø´Â À̺¥Æ® ¸®½º³Ê´Â focus¸¦ ãÁö ¸øÇϱ⠶§¹®¿¡ ÀÛµ¿ÇÏÁö
¸øÇÕ´Ï´Ù.
À̸¦ ¹æÁö Çϱâ À§ÇØ ¾îµªÅÍ¿¡¼ onTouchÀ̺¥Æ®·Î position °ªÀ» °¡Á®¿À´ø°¡ ÇÏ´Â ¹æ½ÄÀ¸·Î
À妽º¸¦ °¡Á®¿Í activity³»¿¡¼ ó¸®ÇÏ´Â ¹æ½ÄÀÌ ÀÖ½À´Ï´Ù.
(¾îµªÅÍ¿¡¼ Æ÷Áö¼Ç °¡Á®¿À´Â ¼Ò½º´Â
//ÀÌŬ¸³½º²ô°í Çϴ°Ŷó ¿À¹ö¶óÀ̵ù ¸Þ¼ÒµåÀ̸§À» ±î¸Ô¾ú½À´Ï´Ù. ;;
¾îµªÅÍ »ó´ÜÀº Æò¼Ò»ç¿ëÇÏ´ø baseadapter°¡ ¾Æ´Ñ.
extends ArrayAdapter<String>{ ÀÌ·¸°Ô ½áÁݽôÙ. ±×·¡¾ß Æ÷Áö¼Ç°ª¹Þ¾Æ¿Ã¼ö ÀÖ¾î¿ä.
//ÀÌ°Ç ¸®½ºÆ®ºä¸¦ setÇØÁִ°̴ϴÙ.
public ListView getListView()
{
return this.list;
}
public onTouch touch = new onTouch()
{
ListView list = getListView();
@Ovrride
public boolean onTouch? ¸Â³ª...(View v, MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
int position = list.getPositionForView(v);
}
return false;
}
ÀÌ·±½ÄÀ¸·Î ÇϽøé setonitemclickÀÇ ÆĶó¸ÞÅÍÁß Æ÷Áö¼Ç°ªÀ» ¾ò¾î¿Í ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
}
ÀÚ ±×·³ ÀÌ°É ¿Ö ¼³¸íÇÏ¿´´À³Ä?
±âº»ÀûÀ¸·Î È®À帮½ºÆ®´Â µÎ°³ÀÇ ¸®½ºÆ®¸¦ »ç¿ëÇÕ´Ï´Ù.
¸ÞÀÎÀÌ µÇ´Â »óÀ§ groupÀÇ ¸®½ºÆ®¿Í ±× groupÀÇ ÇϳªÇϳªÀÇ °´Ã¼¿¡ ¼ÓÇØÀÖ´Â
child ¸®½ºÆ®ÁÒ.
¿©±â¼ Áß¿äÇÑ°Ç È®À帮½ºÆ®¸¦ »ç¿ëÇϸé È®À帮½ºÆ®´Â ÀÚµ¿À¸·Î Æ÷Ä¿½º°ü¸®¸¦ ÇØÁشٴ°̴ϴÙ.
´Ü, µÎ°³ÀÇ ¸®½ºÆ®¿¡ ÇÑÇؼ¸¸¿ä.
È®À帮½ºÆ®´Â group¿¡ ¼ÓÇÑ child ¸®½ºÆ®µéÀ» Æò¼Ò¿¡ gone»óÅ·ΠµÎ¾ú´Ù°¡ Ŭ¸¯½Ã
visiable»óÅ·Π¹Ù²Ù¾î º¸¿©ÁÖ´Â Çü½ÄÀÔ´Ï´Ù. À̶§ focus´Â ¾ÆÁ÷ groupÀÌ °¡Áö°í ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ child¸¦ ¼±ÅÃÇÏ´Â ¼ø°£ focus´Â group false child´Â true°¡ µË´Ï´Ù.
ÀÌ°É ÀÚµ¿À¸·Î ÇØÁÖÁÒ.
±×·³ 3µª½º¸¦ ±¸ÇöÀÌ °¡´ÉÇÑ°¡?(¸®½ºÆ®¸¦ ¶ÇÃß°¡Çؼ)
Çغôµ¥ µÇ±ä µË´Ï´Ù.
´Ü, Æ÷Ä¿½º ÄÁÆ®·ÑÀÌ »ó´çÈ÷ Èûµé°í, ¾îµªÅÍ ³»¿¡¼ ÇØ´ç ¸®½ºÆ®¸¦ ´Ù¸¥ ¾îµªÅ͸¦ ¶Ç ½á¼
±× ¾îµªÅÍ¿¡¼ ¸®½ºÆ®¸¦ ±¸ÇöÇؾߵ˴ϴÙ. (child ¸®½ºÆ®ÀÇ ³»¿ëÀÌ µé¾î°¡´Â rowºÎºÐÀÇ layout¿¡
¸®½ºÆ®¸¦ Ãß°¡ÇϽðí ÀÎÇ÷¹ÀÌÅͽÃÅ°½Ã¸é µË´Ï´Ù.)
¹®Á¦´Â ÀÌ·¸°Ô ±¸ÇöÇÏ°Ô µÇ¸é, child´Â ´Ù½Ã groupÀÌ µÇ´Â°Å°í Ãß°¡µÈ 3µª½ºÀÇ ¸®½ºÆ®´Â
child°¡ µÇ¾ß Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÏ°ÚÁÒ.
´«Ä¡ ä½ÅºÐÀÌ ÀÖ°ÚÁö¸¸ ³×..
childÀÚü¸¦ ´Ù½Ã È®À帮½ºÆ®·Î ¸¸µì´Ï´Ù.
±×·³ chlidgetView¿¡¼ ´Ù½ÃÇѹø È®À帮½ºÆ®¸¦ ±¸ÇöÇÏ´Â ¹æ½ÄÀÌ µÇ°ÚÁÒ.
±×·³ À§¿¡¼ ¸»ÇÑ focus´Â ´©°¡ ¿ì¼±¼øÀ§·Î Á¡À¯ÇÏ´À³Ä?
´äÀº °¡Àå ¸¶Áö¸·¿¡ ¿¸° View°¡ focus¸¦ Á¡À¯ÇÏ°Ô µË´Ï´Ù.
¶§¹®¿¡ ¸¸¾à È®À帮½ºÆ®·Î 3µª½ºÀÌ»óÀ» ±¸ÇöÇÏ°Ô µÇ¸é
È®À帮½ºÆ®ÀÇ È®À帮½ºÆ®¹æ½ÄÀ¸·Î ±¸ÇöÇÏ½Ã¸é µË´Ï´Ù.
±×¸²À¸·Î º¸½Ã¸é
[ group [ child [ group=child ]] [ child ]]....
ÀÌ·±¹æ½ÄÀ¸·Î µË´Ï´Ù.
child = groupÀÌ µÇ°í ´Ù½Ã groupÀÇ child°¡ »ý¼ºµÇ´Â°ÅÁÒ.
°ýÈ£¸¦ »öÀ¸·Î ±¸ºÐÁö¾îµÎ´Â°Ô ´õ ÀÌÇØÇϱâ ÆíÇÒ°Å °°¾Æ¼ Àú¸® Çصξú½À´Ï´Ù.
º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸ 2Â÷ group±îÁö´Â »¡°£»öÀÇ groupÀÌ focus¸¦ ÅëÁ¦ÇÏ°í ±× ¾Æ·¡ child´Â
ÆĶõ»öÀÇ groupÀÌ ÅëÁ¦ÇÏ°Ô µË´Ï´Ù.
ÀÌ·±½ÄÀ¸·Î ±¸¼ºÇϸé 3µª½º°¡¾Æ´Ï¶ó Èü¸Þ¸ð¸®°¡ ¹öƼ´ÂÇÑÀº °è¼Ó »ý¼ºÀÌ °¡´ÉÇÏ°ÙÁÒ.
´Ü. Á¦°¡ ÀÌ·±¹æ½ÄÀ¸·Î 3µª½º±îÁö¸¸ Çغ¸¾Ò°í, ±× ÀÌ»óÀº ¾ÈÇغýÀ´Ï´Ù.
ÀúÇÑÅÙ 3µª½º¸¸ ÀÖÀ¸¸é 됬°Åµç¿ä ¤¾;
¿©Æ° Àú·¸°Ô µÇ¸é adapter´Â ¸®½ºÆ®ÀÇ °³¼ö¿¡ µû¶ó Áõ°¡ÇÏ°Ô µÉ²¨´Ï±î
µª½º count * 2 ÇÏ½Ã¸é µÉ°Å °°½À´Ï´Ù.
(¾Æ Ãß°¡·Î Api µ¥¸ð¿¡ collapsed ¶ó´Â°Ô Àִµ¥, ÀÌ·±¹æ½ÄÀ¸·Î ±¸ÇöÇϸé
¸®½ºÆ®°¡ Æ÷Ä¿½º¸¦ ãÁö¸øÇØ ¸ÁÇÕ´Ï´Ù. ´ÙÁßÈ®À帮½ºÆ® ±¸Çö½Ã¿¡´Â »ç¿ëÇÏÁö ¸¶¼¼¿ä.)
* ±ÛÀ» µî·ÏÇϽǶ§ ²À ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¸é °³ÀÎÁ¤º¸¸¦ ³²±âÁö ¸¶¼¼¿ä ^^ (¿¬¶ôó,À̸ÞÀÏÁÖ¼Ò,Áֹεî·Ï¹øÈ£ µî)