2013-04-13 1 views
0

나는 json에서 나온 목록 항목을 보여주는 활동이 있습니다. 해당 항목을 클릭하면 다음 활동으로 이동하고 내가 선택한 특정 항목 이름과 관련된 세부 정보를 표시하려고합니다. 선택한 항목 이름을 다른 페이지의 제목으로 표시 할 수 있지만 다른 내용이 표시되지 않으므로이 문제를 해결할 수 있도록 도와주세요. 새로운 Android 버전입니다. 미리 감사드립니다 .. !! 선택한 listitem이 json을 통해 다른 활동에 대한 세부 정보를 표시합니까?

여기에 내가 OnItemClickListener에서했던 내 코드입니다 :

locationList.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
      // TODO Auto-generated method stub 

      // getting values from selected ListItem 
      String name = ((TextView) view.findViewById(R.id.name)).getText().toString(); 
      String distance = ((TextView) view.findViewById(R.id.distance)).getText().toString(); 
      String country = ((TextView) view.findViewById(R.id.country)).getText().toString(); 
      String city = ((TextView) view.findViewById(R.id.city)).getText().toString(); 
      String phone = ((TextView) view.findViewById(R.id.phone)).getText().toString(); 

     // Starting new intent 
      Intent in = new Intent(getApplicationContext(), LocationDetails.class); 
      in.putExtra(TAG_NAME, name); 
      in.putExtra(TAG_DISTANCE, distance); 
      in.putExtra(TAG_COUNTRY, country); 
      in.putExtra(TAG_CITY, city); 
      in.putExtra(TAG_PHONE, phone); 

      startActivity(in); 
     } 
    }); 

이 나는 ​​이름을 얻을 수 있지만, 다른 한편으로는 내가 거기에 사실 모든 매개 변수를 제공하는 이유는 null 그나마 알고 보여줍니다 ..... 도와주세요.

공용 클래스 LocationDetails는 활동을 확장 {

// JSON node keys 
    private static final String TAG_NAME = "Name"; 
    private static final String TAG_PHONE = "Phone"; 
    private static final String TAG_ADDRESS = "Address"; 
    private static final String TAG_DISTANCE= "Distance"; 
    private static final String TAG_CITY = "City"; 
    private static final String TAG_COUNTRY= "Country"; 

    private TextView name,phone,address,distance,city,country; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.location_details); 

     // getting intent data 
     Intent in = getIntent(); 

     // Get JSON values from previous intent 
     String Name = in.getStringExtra(TAG_NAME); 
     String Phone = in.getStringExtra(TAG_PHONE); 
     String Address = in.getStringExtra(TAG_ADDRESS); 
     String Distance = in.getStringExtra(TAG_DISTANCE); 
     String City = in.getStringExtra(TAG_CITY); 
     String Country = in.getStringExtra(TAG_COUNTRY); 

     // Displaying all values on the screen 
     name= (TextView) findViewById(R.id.TxtView_name); 
     phone=(TextView)findViewById(R.id.TxtView_PhoneField); 
     address=(TextView)findViewById(R.id.TxtView_AddressField); 
     distance=(TextView)findViewById(R.id.TxtView_DistanceField); 
     city=(TextView)findViewById(R.id.TxtView_CityField); 
     country=(TextView)findViewById(R.id.TxtView_CountryField); 

     name.setText(Name); 
     phone.setText(Phone); 
     address.setText(Address); 
     distance.setText(Distance); 
     city.setText(City); 
     country.setText(Country); 
    } 
} 

A는 당신이

04-13 13:01:25.810: D/dalvikvm(308): GC_FOR_MALLOC freed 14288 objects/863832 bytes in 96ms 
04-13 13:01:26.570: D/dalvikvm(308): GC_FOR_MALLOC freed 19218 objects/1322032 bytes in 91ms 
04-13 13:01:31.370: D/dalvikvm(308): GC_FOR_MALLOC freed 12650 objects/889432 bytes in 87ms 
04-13 13:01:31.880: I/MapActivity(308): Handling network change notification:CONNECTED 
04-13 13:01:31.880: E/MapActivity(308): Couldn't get connection factory client 
04-13 13:01:34.220: D/AndroidRuntime(308): Shutting down VM 
04-13 13:01:34.220: W/dalvikvm(308): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
04-13 13:01:34.340: E/AndroidRuntime(308): FATAL EXCEPTION: main 
04-13 13:01:34.340: E/AndroidRuntime(308): java.lang.NullPointerException 
04-13 13:01:34.340: E/AndroidRuntime(308): at com.linkites.myperspace.Surrounding$1.onItemClick(Surrounding.java:164) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.widget.ListView.performItemClick(ListView.java:3382) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.os.Handler.handleCallback(Handler.java:587) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.os.Handler.dispatchMessage(Handler.java:92) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.os.Looper.loop(Looper.java:123) 
04-13 13:01:34.340: E/AndroidRuntime(308): at android.app.ActivityThread.main(ActivityThread.java:4627) 
04-13 13:01:34.340: E/AndroidRuntime(308): at java.lang.reflect.Method.invokeNative(Native Method) 
04-13 13:01:34.340: E/AndroidRuntime(308): at java.lang.reflect.Method.invoke(Method.java:521) 
04-13 13:01:34.340: E/AndroidRuntime(308): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-13 13:01:34.340: E/AndroidRuntime(308): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-13 13:01:34.340: E/AndroidRuntime(308): at dalvik.system.NativeStart.main(Native Method) 
04-13 13:01:37.020: I/Process(308): Sending signal. PID: 308 SIG: 9 
+0

'Activity'와'LocationDetails'에서'Strings'을 _logged_하고 실제로 null이 아닌 값이 있는지 확인 했습니까? –

+0

네, 모든 값을 가지고 있습니다. – user2092132

+0

그런 다음 두 가지 코드에서 사용한 TAG 선언과 함께'LocationDetails' 액티비티에 사용 된 코드를 게시하십시오. –

답변

0

문제는 다음이 줄 Intent in = getIntent(); 변화는 ... 내가 한이이이 로그 캣있는 일이 나에게 말했다 :

이 le putExtragetStringExtra.

-1

다음 자습서를 참조하면 도움이 될 것입니다.

스텝 01 : 다음

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

이 가이드의 흐름은 먼저 화면리스트 뷰에

스텝 02 문의 사용자의 세부 사항을 보여준다 : 당신으로부터 하나의 사용자를 선택 리스트 뷰

스텝 3 : 다음 번째 화면은 선택된 사용자 t 통해

이동 상세히 나타내고 그의 튜토리얼은 확실히 도움이 될 것입니다. :)

+0

나는이 시도했지만 내 솔루션을 얻을 그 yi는 여기에 게시 오전 – user2092132

+0

좋아 ... 사실 당신이 질문에 언급 한 것과 같은 문제가 ... 그리고 나는 언급 된 튜토리얼 ... 그래서 나는 그것이 당신을 도울 것이라고 생각합니다. 목록보기 항목의 행 파일을 추가했는지 확인하십시오. –

관련 문제