0

关于访问字符串信息的超级新手问题。我已经将一个使用 fragmentpager 和 PagerTabStrip 的应用程序分块在一起。

它应该在选项卡上显示标题,但我的没有显示任何内容......因为我是一个完全的新手,正在破解他的方式。我非常感谢这个社区。

从我调用内容的布局文件中(一旦我修复它的标题--id@pager_header 对吗?):

<android.support.v4.view.PagerTabStrip
    android:id="@+id/pager_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:paddingBottom="4dp"
    android:paddingTop="4dp"
    android:textColor="#ffffff" />

我的代码让我获得了可滑动的内容页面:

公共类诗歌扩展 FragmentActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contentpage);

    /** Getting a reference to the ViewPager defined the layout file */        
    ViewPager pager = (ViewPager) findViewById(R.id.pager);

    /** Getting fragment manager */
    FragmentManager fm = getSupportFragmentManager();

    /** Instantiating FragmentPagerAdapter */
    MyFragmentPagerAdapter pagerAdapter = new MyFragmentPagerAdapter(fm);

    /** Setting the pagerAdapter to the pager object */
    pager.setAdapter(pagerAdapter);


}

}

我的代码应该让我从字符串参考文件中获得标题。

public class MyFragment extends Fragment{

int mCurrentPage;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /** Getting the arguments to the Bundle object */
    Bundle data = getArguments();

    /** Getting integer data of the key current_page from the bundle */
    mCurrentPage = data.getInt("current_page", 0);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {     
    View v = inflater.inflate(R.layout.myfragment_layout, container,false);
    TextView tv = (TextView ) v.findViewById(R.id.tv);
    tv.setMovementMethod(new ScrollingMovementMethod());
    switch(mCurrentPage){
    case 0:
       tv.setText("  ");
    break;
    case 1:
        tv.setText(R.string.content_1);
    break;
    case 2:
        tv.setText(R.string.content_2);
        break;
    case 3:
        tv.setText(R.string.content_3);
        break;
                    }
        return tv;

}

}

如何从中获取 pager_header?

示例相关字符串是:

<string name="content_1">Welcome to this app!</string>

我认为我需要更好地理解字符串,因为我来自更多的文本内容背景。

如何在 stings.xml 文件中包含允许应用引用与综合浏览量相关的内容的指示符,以便我可以在选项卡中显示该内容?我如何做到这一点,以便内容显示“欢迎使用此应用程序”但选项卡中的标题显示“主页”?

我认为好像每个条目(页面)就像数据库中的一行,一个参考点是标题,一个是内容,一个是链接或其他内容。每个人都有自己的id,对吧?

提前感谢您向初学者解释这一点。

4

1 回答 1

0

您需要getPageTitle(int position)MyFragmentPagerAdapter. String从此方法返回的 用于设置 的标题PagerTabStrip

@Override
public CharSequence getPageTitle(int position) {
    Log.v(TAG, "getPageTitle");

    String tabTitle;
    switch(position) {
        case 0:
            tabTitle = "Tab #0";
            break;
        case 1:
            tabTitle = "Home";
            break;
        case 2:
            tabTitle = "Tab #2";
            break;
        case 3:
            tabTitle = "Tab #3";
            break;
        default:
            tabTitle = "Default Tab Title";
            break;
    }
    return tabTitle;
}

您可以Bundle通过调用setArguments(Bundle args)MyFragments添加到您的ViewPager. MyFragment然后,您可以根据onCreateView()传入的内容String参数设置您的内容。然后在MyFragmentPagerAdapter你可以获得对Fragmentat 的引用position并直接从MyFragment.

于 2013-01-25T22:16:14.033 回答