Ich habe versucht, Arraylist von Werten zwischen zwei Aktivitäten passieren, aber ich bin immer Fehler wie below.Thanks im VorausPassing Arraylist von Werten zwischen zwei Aktivitäten .. Fehlern
Verursacht durch: java.lang.NullPointerException: Versuch um die virtuelle Methode 'android.os.Bundle android.content.Intent.getExtras()' für einen Null-Objektverweis unter com.example.android.myapplication.DetailActivity.getextras1 (DetailActivity.java:35) unter com.example.android aufzurufen .myapplication.MyService.onStartCommand (MyService.java:38) unter android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3180) unter android.app.ActivityThread.access $ 2200 (ActivityThread.java:182) unter android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1595) bei android.os.Handler.dispat chMessage (Handler.java:111) bei android.os.Looper.loop (Looper.java:194) bei android.app.ActivityThread.main (ActivityThread.java:5763) bei java.lang.reflect.Method.invoke (Native Methode) bei java.lang.reflect.Method.invoke (Methode.java:372) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:960) bei com.android.internal.os.ZygoteInit .main (ZygoteInit.java:755)
Code, der verwendet wird, um andere Aktivität
listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
String[] appdescription = getResources().getStringArray(R.array.appdescriptionname);
final String appdescipl = appdescription[position];
final int imagesList = noImagesList[position];
final int imagesList2 = noImagesList2[position];
Intent intent1 = new Intent(getApplicationContext(), DetailActivity.class);
intent1.putExtra("des","mydes");
intent1.putExtra("appdescipl" , appdescipl);
intent1.putExtra("imagesList",imagesList);
intent1.putExtra("imagesList2",imagesList2);
startActivity(intent1);
}
});
DetailActivity
public class DetailActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_activity);
this.getextras1();
this.getdescriptionofapp1();
this.getImage1ofapp1();
this.getImage2ofapp1();
startService(new Intent(this, MyService.class));
}
public Bundle getextras1() {
Bundle extras1 = getIntent().getExtras();
return extras1;
}
public TextView getdescriptionofapp1() {
TextView descriptionofapp1 = (TextView) findViewById(R.id.descriptionofapp);
return descriptionofapp1;
}
public ImageView getImage1ofapp1() {
ImageView image1ofapp1 = (ImageView) findViewById(R.id.image1);
return image1ofapp1;
}
public ImageView getImage2ofapp1() {
ImageView image2ofapp1 = (ImageView) findViewById(R.id.image2);
return image2ofapp1;
}
}
Call
MyService
public class MyService extends Service {
public String description;
public int image1;
public int image2;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
DetailActivity i ;
i = new DetailActivity();
Bundle extras = i.getextras1();
TextView descriptionofapp = i.getdescriptionofapp1();
ImageView image1ofapp = i.getImage1ofapp1();
ImageView image2ofapp = i.getImage2ofapp1();
if (extras.containsKey("des")){
description = extras.getString("appdescipl");
descriptionofapp.setText(description);
image1 = extras.getInt("imagesList");
image1ofapp.setImageResource(image1);
image2 = extras.getInt("imagesList2");
image2ofapp.setImageResource(image2);
}
else if (extras.containsKey("data")){
description = extras.getString("appdatadescipl");
descriptionofapp.setText(description);
image1 = extras.getInt("imagesOfLists");
image1ofapp.setImageResource(image1);
image2 = extras.getInt("imagesOfLists2");
image2ofapp.setImageResource(image2);
}
this.onDestroy();
return START_STICKY;
}
@Override
public void onDestroy() {
this.stopSelf();
}
}
Vielen Dank, Arbeitete gut .. –