Dol*_*rma 3 android android-fragments
我更google搜索我怎样才能将简单view的对象传递给片段,但我不能.
例如在MainActivity中,我有一个简单的视图:
TextView text = (TextView) findviewById(R.id.tv_text);
Run Code Online (Sandbox Code Playgroud)
现在我想把它传递给片段.下面的代码是我在MainActivity上的附加片段
MainActivity :
public void attachFragment() {
fts = getActivity().getFragmentManager().beginTransaction();
mFragment = new FragmentMarketDetail();
fts.replace(R.id.cardsLine, mFragment, "FragmentMarketDetail");
fts.commit();
}
Run Code Online (Sandbox Code Playgroud)
这是我的Fragment:
public class FragmentMarketDetail extends Fragment implements ObservableScrollViewCallbacks {
public static final String SCROLLVIEW_STATE = "scrollviewState";
private ObservableScrollView scrollViewTest;
private Context context;
private int scrollY;
public static FragmentMarketDetail newInstance() {
FragmentMarketDetail fragmentFirst = new FragmentMarketDetail();
return fragmentFirst;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_online_categories, container, false);
scrollViewTest = (ObservableScrollView) view.findViewById(R.id.scrollViewTest);
scrollViewTest.setScrollViewCallbacks(this);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity().getBaseContext();
}
}
Run Code Online (Sandbox Code Playgroud)
以这种方式传递视图不是一种好习惯.如果要从片段类getActivity()中访问活动中的视图,请使用访问片段所附加的活动,然后从中找到TextView.
TextView text = (TextView) getActivity().findViewById(R.id.tv_text);
Run Code Online (Sandbox Code Playgroud)
小智 4
如何在自定义片段中添加设置函数,例如
public void setTextView(TextView tv){
this.tv = tv
}
Run Code Online (Sandbox Code Playgroud)
然后在之后调用它
mFragment = new FragmentMarketDetail();
mFragment.setTextView(textView)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3208 次 |
| 最近记录: |