我作出了新聞應用,在那裏我有保存列表中的所有的新聞片段和具有視頻列表中的另一個片段。當你觸摸一個新的,它會調用名爲openNewsCont活性的方法,將與另一個替換當前的片段。安卓入門白屏片段交易
我遇到的proble是當我調用該方法,我得到了一個空白頁面,我已經看過很多其他的代碼,但我無法找到我的問題的解決方案。
下面是我從MainActivity.java
public void openNewsCont(String text) {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.pager, new NewsContent());
ft.addToBackStack(null);
ft.commit();
fm.executePendingTransactions();
}
這裏調用的方法是保持的新聞和MainActivity.java調用該方法
package com.example.link_test;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
public class Tab1 extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View android = inflater.inflate(R.layout.tab1, container, false);
LinearLayout newLink = (LinearLayout) android.findViewById(R.id.news1);
newLink.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String text = "Text from fragment";
MainActivity ma = (MainActivity) getActivity();
ma.openNewsCont(text);
}
});
return android;
}
}
而這裏Tab1.java是應該被調用並顯示空白屏幕的片段NewsContent.java
package com.example.link_test;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class NewsContent extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.news_content, container, false);
return view;
}
}
是的我在編輯代碼時犯了這個錯誤,我添加了代碼,但是它仍然在加載一個空白頁。我不知道,這就好像實際上並沒有真正獲得我現在真正迷失的片段 – Tirlex