J'essaie d'analyser un fichier XML dans un thread dans un fragment.Obtention d'actifs dans des fragments
extrait partiel de mon code est:
public void onCreate(Bundle savedInstanceState)
{
mAdapter = new ListItemNearbyStoresAdapter(getActivity().getApplicationContext(), mStoresByKey);
setListAdapter(mAdapter);
// Load the list of stores from hard coded xml
loadStoresByThread(getActivity().getApplicationContext());
}
private void loadStoresByThread(final Context ctx)
{
Thread t = new Thread()
{
public void run()
{
try
{
Log.d(TAG, "In the thread");
String[] files = ctx.getResources().getStringArray(R.array.storefiles);
// String[] files={"s1.xml"};
for (int i = 0; i < files.length; i++)
{
try
{
InputStream stream = getActivity().getAssets().open(files[i]);
NearbyItemDomFeedParser parser = new NearbyItemDomFeedParser(stream);
ArrayList<Store> stores = parser.parse();
Log.e("no of fioles read","asd :"+stores.size());
mStores.addAll(stores);
cache.setItems(mStores);
}
catch (Exception e)
{
Log.d(TAG, "Exception caught" + e);
}
}
}
}
Notez cette classe entière étend un fragment de liste.
L'accès aux actifs est-il correct dans un fragment?
Cause Je n'arrive pas à lire le fichier.
Aucune exception n'a été déclenchée, donc je ne parviens pas à déterminer l'erreur exacte.
Mais finalement, après l'analyse à l'aide d'un constructeur, je reçois 0 articles.
Des suggestions?
il m'a aidé à obtenir le à la racine du problème .. Merci –
Cela n'a pas fonctionné pour moi mais pourquoi ne jamais utiliser 'getApplicationContext()'? – Si8
@ SiKni8: voir http://www.doubleencore.com/2013/06/context/ – CommonsWare