1

タブ付きのAndroidアプリを作ろうとしています。どちらのタブもリストビューです。最初のタブは、RSS フィードから投稿を取得します。2 番目のタブには、それらがカテゴリ別に表示されます。

問題は、最初のタブのフラグメントから 2 番目のタブにリストビューを設定したいことです。

最初のフラグメントの私のコードは次のとおりです。

public class PostsFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.posts_fragment, container, false);
    return view;
}

...
...
...

// Populate the "posts_fragment.xml" with Posts 
public void populate_postview() {
    ListView lv1;

    lv1 = (ListView)getView().findViewById(R.id.postlist);
    lv1.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1 , arrays.PsychoTitle));
    lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            ...             
        }
    });

// Populate the "categories_fragment.xml" with Categories
public void populate_catview() {
    ListView lv2;

    lv2 = (ListView)getView().findViewById(R.id.catList);
    lv2.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1 , arrays.PsychoCategories));
}

ここでの問題はcatListpopulate_catview()「categories_fragment.xml」の一部ですが、使用getView()すると「posts_fragment.xml」である現在のレイアウトが返されることです。

では、どうすれば 2 番目のフラグメントに項目リストを入力できるでしょうか?

4

2 に答える 2

1

両方のフラグメントが同じ親アクティビティを持っていると仮定すると、1 つの解決策は、リストを裏付けるデータを親アクティビティに保存することです。次に、ユーザーがいずれかのタブをタップすると、対応するフラグメントがデータを取得し、それに応じてリストに入力します。

于 2012-07-27T19:41:02.243 に答える
1

ここで私の答えを見てくださいフラグメントに属するアクティビティの関数を呼び出して、それを説明するのに十分です。別のフラグメントのメソッドを直接呼び出すべきではありません。フラグメントは自己完結型である必要があります。2 番目のフラグメントのデータを使用してメソッドを呼び出すアクティビティへのインターフェイスを作成します。

于 2012-07-27T19:37:30.667 に答える