У меня есть два вида деятельности (Main & Sub) оба содержат просмотр списка для отображения изображений. Я хочу повторно использовать вспомогательную активность для отображения изображений в соответствии с щелчком ячейки в основном действии (что-то вроде меню «Ресторан»). Таким образом, я объявил массив целых массивов (изображения в папке с возможностью переноса), которые я хочу передать суб-активности, и поддиапазонAndroid: Как передать массив Integer между действиями?
Я попытался под кодом, но я закончил конфликт Int и Integer.
Основная деятельность
public class AppsMenu extends AppCompatActivity {
ListView appsmainlist;
Integer[] images={R.drawable.res,R.drawable.clo,R.drawable.beu,R.drawable.col,R.drawable.tor,R.drawable.hot};
Integer[][] subarray = {{R.drawable.res1,R.drawable.res2,R.drawable.res3,R.drawable.res4},{R.drawable.clo1,R.drawable.clo2,R.drawable.clo3,R.drawable.clo4}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_apps_menu);
appsmainlist = (ListView) findViewById(R.id.appsmainlist);
appsmenuadapter appsmenuadapter = new appsmenuadapter(this,images);
appsmainlist.setAdapter(appsmenuadapter);
appsmainlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(AppsMenu.this,appsview.class);
intent.putExtra("subarray",subarray[i]);
startActivity(intent);
}
});
}
}
югу активность
ListView appsviewlist;
Integer [] appsviewarray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_appsview);
appsviewlist = (ListView) findViewById(R.id.appsviewlist);
// Error goes here
appsviewarray = getIntent().getIntArrayExtra("subarray");
appsviewadapter appsviewadapter = new appsviewadapter(this,appsviewarray);
}
адаптер:
public class subadapter extends ArrayAdapter<Integer> {
...
}
Любая помощь будет оценена.
изменить на примитив int вместо Integer –
если бы я сделал это, адаптер не будет кроме этого !! адаптер –
создать другой массив, а затем просто передать значения, если это так, однако вы также можете использовать конструктор адаптера для этого вместо использования генериков –