我目前正在做一个实验室,我收到一个奇怪的错误.
一切都编译得很好,应用程序运行正常但是当我点击一个名字时,它显示了Twitter提要,但仍然显示了人物的名称,就像将一个视图叠加在另一个视图之上.
这是我的MainActivity代码:
package course.labs.fragmentslab;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity implements
FriendsFragment.SelectionListener {
private static final String TAG = "Lab-Fragments";
private FriendsFragment mFriendsFragment;
private FeedFragment mFeedFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
// If the layout is single-pane, create the FriendsFragment
// and add it to the Activity
if (!isInTwoPaneMode()) {
mFriendsFragment = new FriendsFragment();
//TODO 1 - add the FriendsFragment to the fragment_container
FragmentManager fragM = getFragmentManager();
FragmentTransaction fragT = fragM.beginTransaction();
fragT.add(R.id.fragment_container, mFriendsFragment);
fragT.commit();
} else {
// Otherwise, save a reference to the FeedFragment for later use
mFeedFragment = (FeedFragment) getFragmentManager()
.findFragmentById(R.id.feed_frag);
}
}
// If there is no fragment_container ID, then the application is in
// two-pane mode
private boolean isInTwoPaneMode() {
return findViewById(R.id.fragment_container) == null;
}
// Display selected Twitter feed
public void onItemSelected(int position) {
Log.i(TAG, "Entered onItemSelected(" + position + ")");
// If there is no FeedFragment instance, then create one
if (mFeedFragment == null)
mFeedFragment = new FeedFragment();
// If in single-pane mode, replace single visible Fragment
if (!isInTwoPaneMode()) {
//TODO 2 - replace the fragment_container with the FeedFragment
FragmentManager fragM = getFragmentManager();
FragmentTransaction fragT = fragM.beginTransaction();
fragT.add(R.id.fragment_container ,mFeedFragment);
fragT.commit();
// execute transaction now
getFragmentManager().executePendingTransactions();
}
// Update Twitter feed display on FriendFragment
mFeedFragment.updateFeedDisplay(position);
}
}
这是相关的xml文件:
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" /
正如我之前所说,一切运行正常,但是活动保留了一个片段视图,然后在其上显示另一个片段视图.
我不知道为什么.