从活动变为片段

时间:2014-03-25 14:53:57

标签: android android-fragments

我目前正在做一个Android项目,现在需要在其中一个片段中使用片段而不是活动,我有一个使用Activity方法的getView方法,我不知道如何将其更改为是片段兼容,任何人都可以帮忙吗?

    public View getView(int position, View convertView, ViewGroup parent) {
        //This method sets what each list view's items contain.
        //Ensure the view isn't null
        View itemView = convertView;
        if (itemView == null) {
            itemView = getLayoutInflater().inflate(R.layout.news_rss_item, parent, false);
        }

        //Find the current event to use
        RssItem currentItem = newsItems.get(position);

        //Replace default text with event information
        //Set name
        TextView itemTitle = (TextView) itemView.findViewById(R.id.itemEventName);
        itemTitle.setText(currentItem.getTitle());


        return itemView;
    }
}

这是getView方法。

2 个答案:

答案 0 :(得分:0)

在Fragment中,调用getActivity()以获取活动实例。

我认为你需要

itemView = getActivity().getLayoutInflater()....

答案 1 :(得分:0)

您应在Context中附上Adapter,如:

public class MyAdapter extends BaseAdapter {
    private Context mContext;

    public MyAdapter(Context c) {
        mContext = c;
    }

    ...
}  

使用此功能,您可以使用 mContext 变量获取上下文 - FragmentActivity - 并在Adapter中使用它:

LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
...
itemView = inflater.inflate(R.layout.news_rss_item, null);