【问题标题】:Importing an arraylist from another class?从另一个类导入数组列表?
【发布时间】:2021-06-05 11:15:18
【问题描述】:

我想将TvShowEpisodeLoader.java 中的ArrayList mEpisodeList 导入TvShowEpisodeDetailsFragment.java 并使用其中的一个元素mEpisode 创建一个剧集编号滚动条like this 我需要帮助才能做到这一点,我很感激.

我只想要来自mEpisodeListmEpisode 元素 你可以看到mEpisodeListhere的值。

public class TvShowEpisodeLoader {
    
    private class TvShowEpisodeLoaderAsyncTask extends LibrarySectionAsyncTask<Void, Void, Void> {

        private final ArrayList<GridEpisode> mEpisodeList;

        public TvShowEpisodeLoaderAsyncTask() {
            mEpisodeList = new ArrayList<GridEpisode>();
        }
}
public class TvShowEpisodeDetailsFragment extends Fragment {
    @Override
    public void onViewCreated(final View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        
       // getting arraylist mEpisodeList
        //         ????????           //
        // populate tvHisPosts layout
        mlistview = (ListView) view.findViewById(R.id.tvHisPosts);
        // Create The Adapter
        ArrayAdapter<GridEpisode> adapter = new ArrayAdapter<>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, ????????);
        // Set The Adapter
        mlistview.setAdapter(adapter);

    }
    
}

【问题讨论】:

  • 如果列表没有getter,唯一的办法就是变得讨厌并使用反射来访问该字段。

标签: java android arraylist


【解决方案1】:

我通过像这样初始化片段中的 mEpisodes 来修复它

Cursor cursor = mDatabaseHelper.getEpisodes(mShowId);
        try {
            while (cursor.moveToNext()) {
                mEpisodes.add(new TvShowEpisode(this, mShowId,
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_TITLE)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_PLOT)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_SEASON)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_AIRDATE)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_DIRECTOR)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_WRITER)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_GUESTSTARS)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_EPISODE_RATING)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_HAS_WATCHED)),
                        cursor.getString(cursor.getColumnIndex(DbAdapterTvShowEpisodes.KEY_FAVOURITE))
                        ));
            }
        } catch (Exception e) {
        } finally {
            cursor.close();
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2017-08-20
    • 2021-09-09
    • 2016-01-27
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多