Получение активов внутри фреймнгов - PullRequest
3 голосов
/ 07 июня 2011

Я пытаюсь проанализировать XML-файл в потоке во фрагменте.

Частичный фрагмент моего кода:

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);
                            }
                        }
}
}

Обратите внимание, что весь этот класс расширяет фрагмент списка.

Правильно ли осуществляется доступ к активам внутри фрагмента?

Причина Я не могу прочитать файл.

Исключений не возникло, поэтому я не могу определить точную ошибку.

Но, наконец, после разбора с помощью компоновщика я получаю 0 элементов.

Есть предложения?

1 Ответ

14 голосов
/ 07 июня 2011

Правильно ли осуществляется доступ к активам внутри фрагмента?

Используйте Activity (getActivity()), а не Application (getApplicationContext()) и посмотрите, поможет ли это. Если у вас нет конкретных инструкций от кого-то, кто знает, о чем он говорит, никогда не используйте getApplicationContext() в вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...