java - pageradapter 中的 getResources 数组 xml

标签 java android xml fragment

我尝试将值从 xml 数组 传递到 Listfragment

public class TabsPagerAdapter extends FragmentPagerAdapter {

    static Context context;
    static Resources res = null;
    static String[] CONTENT = null;


    public TabsPagerAdapter(FragmentManager fm, Context c) {
        super(fm);

        context = c;


    }


    @Override
    public ListFragment getItem(int index) {


        res = context.getResources();
        CONTENT = res.getStringArray(R.array.trg_values);

          ListFragment fragment = new DaerahFragment();
            Bundle args = new Bundle();
            args.putString("daerah", CONTENT[index] ); 
            fragment.setArguments(args);
            return fragment;

    }



    @Override
    public int getCount() {
        // get item count - equal to number of tabs
        return 7;
    }
}

这是我的 xml

    <string-array name="trg_values">
    <item name="Kuala Terengganu">1</item>
    <item name="Marang">2</item>
    <item name="Dungun">3</item>
    <item name="Kemaman">4</item>
    <item name="Hulu Terengganu">5</item>
    <item name="Setiu">6</item>
    <item name="Besut">7</item>

</string-array>

错误:

08-03 16:12:00.992: E/AndroidRuntime(28017): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
08-03 16:12:00.992: E/AndroidRuntime(28017):    at com.jkmt.ppbanjir.adapter.TabsPagerAdapter.getItem(TabsPagerAdapter.java:62)

适配器实例化

mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), null); 
viewPager.setAdapter(mAdapter); 

最佳答案

问题出在这一行

mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), null); 

您将 null 作为Context 传递,并将 null 分配给适配器中的成员。当调用 getItem 并引用成员时,应用程序会因 NullPointerException 崩溃。更改为

mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), this);

如果您在 Activity 内,或者

mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), getActivity());  

如果您位于Fragment

关于java - pageradapter 中的 getResources 数组 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782628/

相关文章:

java - 尝试从其他布局调用时不会调用 setContentView

android - 当 LauncherProvider.DatabaseHelper.convertDatabase(SQLiteDatabase db) 在 Android 默认启动器中返回 true 时?

.net - 如何以二进制形式获取节点的值?

python-3.x - 将属性添加到 junit xml pytest

java - 由于重新平衡,无法完成提交

java - DateFormat 给出错误答案

java - Java Play Framework 2 中的路由,List<> 作为参数

java - Swing GUI IOException 和 FileNotFoundException

java - 在 android 上可跨 textView

xml - Scrapy RSS 抓取器