我有两节课.首先是活动,第二是我有一些片段EditText.在活动中我有一个带有async-task的子类,在方法中doInBackground我得到一些结果,我保存到变量.如何将此变量从子类"my activity"发送到此片段?
我有一个活动,我用片段替换了.该活动采用了一个Intent,它有一些关于活动应该显示的数据的额外信息.
既然我的Activity只是一个包含同样功能的Fragment的包装器,那么如果我用XML标记带有标签的XML片段,我如何将该包带到Fragment?
如果我使用FragmentTransaction将Fragment放入ViewGroup,我将有机会在Fragment构造函数中传递此信息,但我想知道片段是用XML定义的情况.
我想在Android片段中使用XML定义自定义属性(不使用捆绑其他参数),就像declare-styleable在自定义控件中一样.但是没有带有AttrSet参数的构造函数,所以它可能吗?我可以覆盖public void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)以获得属性支持吗?
我在我的应用程序中使用片段.这是我的第一个片段,只是夸大了一个xml文件:
public class FragmentA extends SherlockFragment
{
Context myContext,appContext;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
myContext = getActivity();
appContext=getActivity().getApplicationContext();
arguments = getArguments();
doctor_id=arguments.getInt("doctor_id");
userType=arguments.getString("userType");
return inflater.inflate(R.layout.left_panel, container,false);
}
Run Code Online (Sandbox Code Playgroud)
这是left_panel .xml,它包含一个片段:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/titles"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
class="com.example.sample.ListFrag" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的ListFrag类:
public class ListFrag extends Fragment
{
Context myContext,appContext;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
layoutView = inflater.inflate(R.layout.activity_doctor_list,container); …Run Code Online (Sandbox Code Playgroud) 是否必须使用bundle和set参数设置数据?这有什么不对?
MyFragment frag = new MyFragment ()
frag.setData(mSchoolData);
//add to back stack stuff.
Run Code Online (Sandbox Code Playgroud)