마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰의 아이템을 이용해서 인텐트를 띄우는 방법

0 추천

안녕하세요. 먼저 설명을 드리자면 지금 [ Edittext ]와 [ Listview ]를 이용해서 검색이 가능한 액티비티가 있습니다. (예제소스 참고해서 제작함)

이 소스에서는 리스트아이템을 클릭하면 

Toast.makeText(getApplicationContext(),
		((TextView) view).getText(), Toast.LENGTH_SHORT).show();

이런 코드를 이용해서 해당 아이템의 이름을 토스트로 띄워주더군요.. 그래서 생각난것이 리스트뷰의 아이템이름이 [ 11 ]이라고 한다면 [ 11_Activity ]라는 액티비티로 연결되고 아이템이 [ 22 ]라면 [ 22_Activity ]로 연결되게 코드를 제작할 수도 있지 않을까해서 질문드립니다.

((TextView) view).getText()

이 부분이 아이템의 이름을 받아오는 부분 같아보이는데 혹시 어떻게 해야 되는지 아시는 분 있으신가요..?

KRJ (820 포인트) 님이 2014년 8월 6일 질문

2개의 답변

+1 추천
 
채택된 답변
아네, 기본적으로 자바를 잘쓰시는 분이라 생각하고, 그냥 코드 형식만 넣었어요.
아래 처럼 해보세요.! 바꾼것은 getStr 로 변수면 바꾸고 equals 문법오류 수정했어요.

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

    TextView text = (TextView) arg1.findViewById(R.id.해당textID);
                           
    String getStr = text.getText().toString(); 
    if ( getStr.equals("11"))  {
        Intent Activity11.....
    } else if ( getStr.equals("22" ))  {
        Intent Activity22.....
    } 
}

 

깜씨 (1,130 포인트) 님이 2014년 8월 7일 답변
KRJ님이 2014년 8월 10일 채택됨
친절한 설명 감사합니다! 적용해보겠습니다.
적용해보았더니 표면상의 오류는 전부 잡혔는데
어플을 실제 실행해서 해당 아이템을 눌렀더니 그대로 튕기더군요.
죄송하지만 혹시 전체 소스를 보시면 뭐가 문젠지 말씀해주실 수 있으신가요?

=====

+ 해결했습니다. 감사합니다!!
0 추천

onItemClick arg1 에서 값을 받아 처리하시면 될 것 같아요.

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

    TextView text = (TextView) arg1.findViewById(R.id.해당textID);
                           
    String getStr = text.getText().toString(); 
    if ( getStr.equals("11"))  {
        Intent Activity11.....
    } else if ( getStr.equals("22" ))  {
        Intent Activity22.....
    } 
}



 

깜씨 (1,130 포인트) 님이 2014년 8월 6일 답변
깜씨님이 2014년 8월 7일 수정
적용해보았더니

 if ( str.equals("11") {

부분에서

Multiple markers at this line
    - Syntax error, insert ") Statement" to complete IfStatement
    - str cannot be resolved

라는 오류가 발생하는데 어떻게 해야 할까요??..
if ( str.equals("11")) {

로 바꿔보세요
오 감사합니다! 그런데
Syntax error, insert ") Statement" to complete IfStatement
는 해결된 것 같은데

 str cannot be resolved 는 남아있는 것 같은데 이건 어찌해야 할까요.. ㅠ
...