#java #android #arrays #android-studio #android-fragments
Вопрос:
Пожалуйста, у меня возникли проблемы с отправкой ArrayList
данных на Activity
.
Данные представляют собой URL-адрес, сохраненный в ArrayList
, но после использования дополнительных пакетов я получаю исключение нулевого указателя. Я также пытаюсь поймать исключение, но все равно данные, которые я получаю с помощью get extra string, равны нулю
// below is the code i used to pass the data
Bundle extras = new Bundle();
extras.putString("VidUrl",VideoLecturesUrl.get(position));
extras.putString("bookUrl",bookUrl.get(position));
extras.putString("VidTitle",titleList.get(position));
Intent intent = new Intent(getActivity(),DetailsView.class);
intent.putExtras(extras);
startActivity(intent);
// below is the receiving activity
Intent intent = getIntent();
extras =intent.getExtras();
if (extras!=null){
try {
Video_Url = extras.getString("VidUrl");
BookUrl = extras.getString("bookUrl");
Title = extras.getString("VidTitle");
Toast.makeText(this,Video_Url,Toast.LENGTH_SHORT).show();
Toast.makeText(this,BookUrl,Toast.LENGTH_SHORT).show();
Toast.makeText(this,Title,Toast.LENGTH_SHORT).show();
videotexTitle.setText(Title);
setTitle(Title);
setVideo(Video_Url.toString());
}catch (Exception e){
e.printStackTrace();
}
} else {
Toast.makeText(this, "the extrass is empty", Toast.LENGTH_SHORT).show();
}
Комментарии:
1. где именно вы получаете исключение nullpointerexception ?
2. когда я пытаюсь сохранить данные в переменную, чтобы я мог их использовать
3. Даже когда я пытаюсь поджарить данные, чтобы подтвердить, что они все еще пустые пустые строки
Ответ №1:
во фрагменте
public interface NoticeFragmentListener {
public void onFragmentSendArray(ArrayType yourArray);
}
NoticeFragmentListener listener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
// Verify that the host activity implements the callback interface
try {
// Instantiate the NoticeFragmentListener so we can send events to the host
listener = (NoticeFragmentListener) context;
} catch (ClassCastException e) {
// The activity doesn't implement the interface, throw exception
}
}
//metod to send array
public void SendArray(ArrayType yourArray){listener.onFragmentSendArray(yourArray);}
в деактивации
public class yourActivity extends AppCompatActivity implements YourFragment.NoticeFragmentListener
и получить массив
@Override
public onFragmentSendArray(ArrayType yourArray) {
}
Ответ №2:
Для простоты используйте для этой цели общие ссылки
Комментарии:
1. Хорошо, братан, я попробую это