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

Listview item 선택 관련으로 4일동안 고민을 해봐도 답이 없습니다... 도와주세요 ㅠㅠ

0 추천

안드로이드 개발을 막 시작한 개발자 입니다.

 

대략적으로 제가 한 개의 리스트뷰 오픈소스를 통해서

 

이것 저것 연습하고 있는데요.... 도무지 해결이 안되는 것이 있어서 질문 드려요 ㅠㅠ

 

http://blog.naver.com/ragoman/220273247412

이 블로그는 제가 운영했던 블로그인데요... 일단 여기에 오류 관련 로그켓 PNG와 파일 올려 놨습니다.

 

Listview 항목의 item 선택시 각 item 항목별로 지정된 홈페이지로 이동하게 만들려고 했습니다... 그런데...  item  선택이 동작이 멈춰 버립니다 ㅠㅠ

 

일단 이클립스로 실행시 오류 없이 설치랑 실행은 잘되는데 List view 항목인 item을 클릭하면 오류가 나면서

 

intend 가 작동을 멈춥니다.  즉, 원래 구현 하려던 intend는 item 1이 google 이라면 select 때 http://www.google.com 으로 웹브라우져가 열리게 하고, item 2가 naver 라면 select 때 http://www.naver.com 으로 브라우져가 열리게 할려고 했던건데.... 이게 계속 오류가 납니다.

 

제 블로그에 접속하시면 자세한 내용과 로켓값이 찍힌 PNG 파일 및 소스 파일이 있습니다. ㅠ_ㅠ 고수님들 도와주세요 ㅠㅠ

 

어찌 보면 굉장히 단순한 건데... 이유를 모르겠네요... 기초가 부족해서 그런거 같기도 한데... 제발 좀 도와주세요 ㅠ_ㅠ

 

 

ragoman (200 포인트) 님이 2015년 2월 14일 질문

2개의 답변

+1 추천
String url = (String) parent.getItemAtPosition(position);	

리스트에서 받아오는 object는 Car객체라서 에러남. cannot be cast to String.

Car로 캐스팅해서 url을 쓰쓰거나, 바로윗줄에 직접 car객체를 선택한 객체의 url을 사용하세요.

uno (3,820 포인트) 님이 2015년 2월 14일 답변
감사합니다... 님의 조언대로 하긴 했는데...

    Car selectedurl = arrayCars.get(position);
       
        String url = (String) parent.getItemAtPosition(position);       

        Uri Carurl = Uri.parse(url);
       
        // 액션을 ACTION_VIEW로 지정하고, Uri에 블로그 주소를 지정한 인텐트를 생성한다.
        Intent intent = new Intent(Intent.ACTION_VIEW, Carurl);
       
        // 인텐트를 시작한다.
        startActivity(intent);}}

이렇게 수정 했거든요 ㅠㅠ 그런데도.... 지속적인 증상이 나오네요ㅠㅠ

시간 되신다면 증상 해결된 Source file을 제 e-mail에 보내 주실 수 있나요?

제 e-mail은 ragoman@naver.com 입니다.
@Override

  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  ///////////////////////////////////////////
   ListView listView = (ListView) parent;

         Car item = (Car) listView.getItemAtPosition(position);

         Log.d("JO", "selected item => "+item.getUrl());
      ////////////////지정한 개체 출력 확인 소스////////////////////////   
         String CarUrl = (String) parent.getItemAtPosition(position);
         
         Uri CarUri = Uri.parse(CarUrl);

         Intent intent = new Intent(Intent.ACTION_VIEW, CarUri);
   
  
   startActivity(intent);



지금 일단은 이렇게 소스를 짰는데도....

계속 팅깁니다.... 이유를 모르겠어요... 미칠 거 같아요 ㅠㅠ

이 문제 해결 할 수 있게 더와주세요 ㅠㅠ
확인까진 귀찮고... 이걸로 해보세요

Car item = (Car) parent.getItemAtPosition(position);
Uri CarUri = Uri.parse(item.getUrl());
Intent intent = new Intent(Intent.ACTION_VIEW, CarUri);
startActivity(intent);

아니면

Car item = arrayCars.get(position);
Uri CarUri = Uri.parse(item.getUrl());
Intent intent = new Intent(Intent.ACTION_VIEW, CarUri);
startActivity(intent);
+1 추천
@Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         Car item = arrayCars.get(position);
         String CarUrl = item.getUrl();
         Log.d("JO", "selected item => "+ CarUrl);
         Uri CarUri = Uri.parse(CarUrl);
         Intent intent = new Intent(Intent.ACTION_VIEW, CarUri);
         startActivity(intent);
    }}
nicehee (73,100 포인트) 님이 2015년 2월 15일 답변
...