У меня есть активность экрана-заставки (АКТИВНОСТЬ A), которая по завершении загрузки открывает АКТИВНОСТЬ B.
АКТИВНОСТЬ B ** состоит из кнопки, которая открывает **АКТИВНОСТЬ C.
ДЕЙСТВИЕ A загружает список с помощью асинхронной задачи
Я хочу, чтобы этот загруженный список отображался в ACTIVITY C при открытии
Я прочитал много сообщений о том, как передавать значения из 1-го действия в 3-е, и пытался реализовать все это, но ничего не помогло.
Evven попытался передать объект списка через намерения из ACTIVITY A > ACTIVITY B > ACTIVITY C, но это не сработало.
Наконец, я использовал «библиотеку jacksons», чтобы преобразовать загруженный список в jsonstring, затем поместить его в общие настройки в ACTIVITY A, затем извлечь jsonstring из общих настроек, скрыть его обратно в объект списка в ** ACTIVITY C* * и отобразить список
Но список не отображается
Что делать и есть ли лучший процесс
заставка (АКТИВНОСТЬ A)
public class SplashActivity extends Activity{
List<ParseObject> ob;
List<CodeList> codelist = null;
ObjectMapper mapper;
SearchPreferences searchpref;
@Override
public void onCreate(Bundle savedInstanceState){
// TODO: Implement this method
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
mapper = new ObjectMapper();
searchpref = new SearchPreferences();
new DataTask().execute();
}
public class DataTask extends AsyncTask<Void, Void, List<CodeList>>{
@Override
protected List<CodeList> doInBackground(Void[] p1){
codelist = new ArrayList<CodeList>();
try {
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("InterActivity");
query.orderByAscending("_created_at");
ob = query.find();
for (ParseObject inter : ob) {
CodeList map = new CodeList();
map.setIntroduction((String) inter.get("intro"));
codelist.add(map);
}
return codelist;
}
catch (ParseException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(List<CodeList> result){
try{
String jsonsearchlist = mapper.writeValueAsString(result);
Intent i = new Intent(SplashActivity.this, MainActivity.class);
searchpref.save(SplashActivity.this, jsonsearchlist);
startActivity(i);
}
catch (JsonProcessingException e){}
}
}
}
АКТИВНОСТЬ C
public class SearchActivity extends Activity{
protected EditText searchedittext;
ImageButton searchButton;
List<ParseObject> ob;
List<CodeList> splashcodes;
FinalAdapter fnladapter;
SearchPreferences searchpref;
ObjectMapper mapper;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.search_layout);
searchpref = new SearchPreferences();
mapper = new ObjectMapper();
String jsonsearchobj = searchpref.getValue(SearchActivity.this);
try{
splashcodes = (List<CodeList>) mapper.readValue(jsonsearchobj, CodeList.class);
final ListView searchedlist = (ListView) findViewById(R.id.searchlist);
fnladapter = new FinalAdapter(SearchActivity.this, splashcodes);
searchedlist.setAdapter(fnladapter);
}
catch (IOException e){}
}
}