我想從pageradapter傳遞網頁地址到我的片段,但在那個過程中我得到一個空對象引用錯誤。 這是我pageradapter如何將參數從活動傳遞到片段
public class TabPagerAdapter extends FragmentStatePagerAdapter
{
int tabCount;
public TabPagerAdapter(FragmentManager fm, int numberOfTabs)
{
super(fm);
this.tabCount = numberOfTabs;
}
@Override
public Fragment getItem(int position)
{
switch (position)
{
case 0:
Yahoo tab1 = new Yahoo();
Yahoo.newInstance("https://www.yahoo.com");
return tab1;
default:
return null;
}
@Override
public int getCount()
{
return tabCount;
}
}
這是我的片段。我不知道爲什麼我無法得到它的工作。我試圖把同樣的事情放在onCreate方法,但錯誤仍然存在。
public class Yahoo extends Fragment {
private WebView webView;
private ProgressBar progressBar1;
private SwipeRefreshLayout mSwipeRefreshLayout1;
public Yahoo() {
// Required empty public constructor
}
public static Yahoo newInstance(String webUrl) {
Yahoo yahoo= new Yahoo();
//set arguments
Bundle args = new Bundle();
args.putString("website", webUrl);
yahoo.setArguments(args);
return Yahoo;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_tab, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//getting error here when calling back arguments
final String url = getArguments().getString("website");
webView.loadUrl(url);
}
我看不出有什麼問題,你的代碼,你可以解釋,爲什麼它不工作?你有什麼錯誤? –
是的,那正是我無法弄清楚的。總之,我有一個帶查看尋呼機的tablayout。主要活動初始化選項卡並且pageradapter關聯片段。上面標記的錯誤是java.lang.NullPointerException:試圖在空對象引用 – choman
上調用虛擬方法'java.lang.String android.os.Bundle.getString(java.lang.String)'請添加PageAdapter –