第一次开通博客,第一次写博客,学渣要开始好好学习了,那就让我来说说今天这个恶心的问题,遇到这个问题真是让我爆炸,找了两个小时,磨练我的耐心啊,慢慢我都会成为一个细心又有耐心的人了!!
MainActivity
<pre name="code" class="java">import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import com.example.smartbeijing.Fragment.Fragment_Content;
import com.example.smartbeijing.Fragment.Fragment_left_menu;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
public class MainActivity extends SlidingFragmentActivity {
private static final String LAYOU_MAIN = "layout_main";
private static final String LEFT_MENU = "left_menu";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setBehindContentView(R.layout.left_menu);
// 获取SlidingMenu
SlidingMenu slidingMenu = getSlidingMenu();
// 将拉出模式设置为全屏拉出
slidingMenu.setTouchModeAbove(slidingMenu.TOUCHMODE_FULLSCREEN);
// 设置屏幕预留宽度
slidingMenu.setBehindOffset(200);
initFragment();
}
private void initFragment() {
// 获取FragmentManager并且开启事务
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
// 用Fragment替换之前的布局
fragmentTransaction.replace(R.id.layout_main, new Fragment_Content(), LAYOU_MAIN);
fragmentTransaction.replace(R.id.left_menu, new Fragment_left_menu(), LEFT_MENU);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
今天的问题出现在repalace是需要被填充的布局文件的ID需要为
setContentView的子属性(不知道说的对不对,,),就是
setContentView要和repalace对应,我的
layout_main<span style="font-family: Arial, Helvetica, sans-serif;">属性在</span><span style="font-family: Arial, Helvetica, sans-serif;">R.layout.activity_main布局中对应!</span><span style="font-family: Arial, Helvetica, sans-serif;">R.id.left_menu与</span><span style="font-family: Arial, Helvetica, sans-serif;">R.layout.left_menu对应!这样就可以了,,,,</span>
还有在replace中传入Fragment是,要确保传入的Fragment的JAVA文件中引入的包和 FragmentTransaction 引入的保持一致(我这里都是V4包),要不也会出现红色波浪线