2014-02-26 122 views
1

我知道它可能是一些简单的东西我很想念这里,但出于某种原因,我似乎无法让我的布局显示,当我运行我的应用程序使用模拟器。任何反馈都会很棒。由于android布局不显示

我的片段

package com.pctoolman.planme.app; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 


public class PlanMeMainFragment extends Fragment { 

private Button mNewButton, mExistingButton; 



@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.planme_main_fragment, container, false); 

    mNewButton = (Button)v.findViewById(R.id.new_event_button); 
    mNewButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(getActivity(), NewEventSetupActivity.class); 
      getActivity().startActivity(myIntent); 
     } 
    }); 
    return v; 
} 




} 

我的布局文件:

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:background="#ff3a0b"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    <TextView 
     android:text="@string/plan_me" 
     android:textSize="36dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="2" 
     android:gravity="center|top" 
     android:textAlignment="center" 
     android:textColor="#2c58ff" 
     android:id="@+id/textView"> 

     </TextView> 
    </LinearLayout> 

    <Button 
     android:id="@+id/new_event_button" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="bottom" 
     android:padding="5dp" 
     android:text="@string/new_event" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="160dp" /> 

    <Button 
     android:id="@+id/existing_event" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:padding="5dp" 
     android:text="@string/existing_event" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="260dp"/> 

</RelativeLayout> 

这里的活动文件

package com.pctoolman.planme.app; 


import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 

public class PlanMeMainActivity extends FragmentActivity { 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.planme_main_activity); 
} 



} 
+0

你得到任何错误? – user1567896

+0

你的活动在哪里? –

+0

你真的离开了RelativeLayout吗? –

回答

2

您应该通过FragmentManager进行transatcion以显示活动中的片段。假设您的planme_main_activity.xml中有容器(例如FrameLayout),其中包含id = fragment_container。如果是这样,你应该添加下列项目后setContentView(R.layout.planme_main_activity);

getSupportFragmentManager() 
    .beginTransaction() 
    .replace(R.id.fragment_container, new PlanMeMainFragment()) 
    .commit(); 

但是,如果你在XML中声明片段,请发表您的planme_main_activity.xml

+0

谢谢你最后一句话是我的问题所在。我正在调用活动xml而不是xml片段。 – hozdaman

0

也许是因为你还没有定位按钮正常。在相对布局中移动东西很容易。你不需要使用重力。您可以使用:

android:layout_alignParentBottom="true" 
android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true" 
android:layout_above="@+id/btn" 
android:layout_below="@+id/btn" 

我假设你剪掉RL的结束标记。

+0

我删除了重力。 RL结束标签位于最下方。当我运行应用程序,我得到的是一个空白的白色屏幕。谢谢。 – hozdaman