android中的片段没有输出。

时间:2012-02-02 12:01:04

标签: android android-fragments

第一次使用片段。作为片段本身就是一个活动,通过文档,我想我已经在manifest.xml中正确编写了它。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/example_fragment"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment class="com.test.methods.ExampleFragment"
            android:id="@+id/list"
            android:layout_weight="1"
            android:layout_width="0px"
            android:layout_height="match_parent" />

    <FrameLayout android:id="@+id/details" android:layout_weight="1"
            android:layout_width="0px"
            android:layout_height="match_parent" />

</LinearLayout>

我的片段:

package com.test.methods;

import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;

import com.crumbin.main.R;

public class ExampleFragment extends ListFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        setListAdapter(new ArrayAdapter<String>(getActivity(),
                R.id.list,
                Shakespeare.TITLES));
        return inflater.inflate(R.layout.example_fragment, container, false);
    }
}

我的活动:

package com.test.methods;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class DemoUserActivity extends FragmentActivity{
    protected void OnCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        if (savedInstanceState == null)
        {
            ExampleFragment details = new ExampleFragment();
            details.setArguments(getIntent().getExtras());
            getSupportFragmentManager().beginTransaction().add(
                    android.R.id.content,details).commit();
        }

    }
}

我的意图:

intent = new Intent().setClass(this, DemoUserActivity.class);
spec = tabHost.newTabSpec("list").setIndicator("FragmentTest",
                  res.getDrawable(R.drawable.icon_list_tab))
              .setContent(intent);
tabHost.addTab(spec);

我没有得到任何输出。我试过调试,但它甚至没有到达我的活动文件。

1 个答案:

答案 0 :(得分:0)

没有Activity是不同的东西,而Fragment是不同的,你可以使用它们来创建你的应用程序模块,并用最少的努力替换另一个,但是如果你想使用一个片段,就不能用它来代替其他的,你需要声明一个活动,在那个活动中你需要添加你的片段,不能使用没有Activity的单个片段。