나는 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
'Activity'와'LocationDetails'에서'Strings'을 _logged_하고 실제로 null이 아닌 값이 있는지 확인 했습니까? –
네, 모든 값을 가지고 있습니다. – user2092132
그런 다음 두 가지 코드에서 사용한 TAG 선언과 함께'LocationDetails' 액티비티에 사용 된 코드를 게시하십시오. –