我正在尝试使用https://github.com/JakeWharton/Android-ViewPagerIndicator插件在我的项目中实现Fragments。
我的片段
public final class NearByFragment extends Fragment {
private static String TAG = "bMobile";
public static NearByFragment newInstance(String content) {
NearByFragment fragment = new NearByFragment();
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "onCreate");
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
return inflater.inflate(R.layout.fragment_search_nearby, null);
}
}
现在我想执行一些代码,比如启动一个新线程并从服务器下载一个JSON,然后从我下载的内容中分配一个列表视图。在片段中,我们在onCreateView中分配视图。那我应该在哪里写
listview = (ListView) findViewById(R.id.list_items);
((TextView) findViewById(R.id.title_text))
.setText(R.string.description_blocked);
和其他代码生成片段视图?
答案 0 :(得分:3)
您可以在视图中搜索刚刚膨胀的内容:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
View v = inflater.inflate(R.layout.fragment_search_nearby, null);
listview = (ListView)v.findViewById(R.id.list_items);
((TextView)v.findViewById(R.id.title_text))
.setText(R.string.description_blocked);
return v;
}
您还可以在代码中的其他位置使用Fragment.getView()功能,并调用该视图的findViewById()
成员。
答案 1 :(得分:1)
如果您想要访问布局元素,可以使用片段中的getActivity().findByView()
。或者,您可以将findByView()
调用放在主Activity中。