На данный вопрос уже ответили:
Как перадать ArrayList с Activity в Fragment используя интерфейс Parcelable и извлечь данные в Fragment ?
Activity.class
public class MainActivity extends Activity {
final String LOG_TAG = "myLogs";
ArrayList<Parcelable> parcelableArrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList carList = new ArrayList();
carList.add(new Car(1, "Honda", "Black"));
carList.add(new Car(2, "Toyota", "Blue"));
carList.add(new Car(3, "Suzuki", "Green"));
Bundle bundle=new Bundle();
bundle.putParcelableArrayList("name",carList);
Fragment fragobj=new MyFragment();
fragobj.setArguments(bundle);
getFragmentManager().beginTransaction()
.replace(R.id.fmContent, fragobj)
.commit();
}
Fragment.class
public class MyFragment extends Fragment{
final String LOG_TAG = "myLogs";
Bundle bundle;
TextView text;
TextView article;
ArrayList<String > arrayList = new ArrayList<String >();
ArrayList<Parcelable> parcelableArrayList;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment1, container, false);
parcelableArrayList = getActivity().getIntent().getParcelableArrayListExtra("name");
if (parcelableArrayList !=null){
Log.d(LOG_TAG, " -------------------------> myBundle contain IS "+arrayList.get(1));
}else {
final String LOG_TAG = "myLogs";
// Bundle bundle;
Log.d(LOG_TAG, " -------------------------> myBundle contain IS "+"NULL");
}
return view;
}
}
В классе MyFragment.java получаю null на строке parcelableArrayList = getActivity().getIntent().getParcelableArrayListExtra("Student");
Как правильно организовать код для передачи типа ArrayList?
Тут
parcelableArrayList = getActivity().getIntent().getParcelableArrayListExtra("name");
вы пытаетесь получить данные из интента актвити, а вам надо из аргументов фрагмента. Т.е. так:
parcelableArrayList = getArguments().getParcelableArrayList("name");
1.Сделайте ArrayList - приватным полем в вашей Активности.
2.Создайте следующий метод в активности:
piblic ArrayList getArrayList(){
return MyArrayList
}
3.В фрагменте сделайте следующее:
ArrayList<YourGeneric> MyNewArrayList = new ArrayList<>();
MyNewArrayList = MainActivity.getArrayList();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задание:Написать регулярное выражение, определяющее является ли данная строка GUID с или без скобокГде GUID это строчка, состоящая из 8, 4, 4, 4, 12 шестнадцатеричных...
Одно из условий задачи: В классе Cat добавь public статическую переменную cats (ArrayList<Cat>)Я это понимаю вот так:
Здравствуйте, что только не делал, не получаетьсяНужно открывать новый экран, при нажатии на ListView