我作出了新闻应用,在那里我有保存列表中的所有的新闻片段和具有视频列表中的另一个片段。当你触摸一个新的,它会调用名为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