In the main class of my project, I have
public class MyClass extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mySurfaceView = new MySurfaceView(this);
setContentView(mySurfaceView);
...
}
class MySurfaceView extends SurfaceView implements Runnable{
...
}
}
I want to add buttons and wheels to this program, which I have in a separate mini-program right now with a main.xml file. I know that to access that, I have to have the line setContentView(R.layout.main), but then, I lose access to my SurfaceView. How do I make it so that I have both? I saw something online about adding a few lines with a FrameLayout but I can’t figure out where, and I’ve tried sticking it in various places in my main.xml but it just causes my entire program to break..
Currently my main.xml looks like this:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/selectButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Select Time Interval"
android:onClick="selfDestruct"
/>
<Button android:id="@+id/finishButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Done"
android:visibility="gone"
android:onClick="selfDestruct"
/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top|left"
android:paddingLeft="12dp"
android:paddingRight="12dp"
>
<kankan.wheel.widget.WheelView android:id="@+id/startHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"/>
<kankan.wheel.widget.WheelView android:id="@+id/startMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/startAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<TextView android:id="@+id/theWordTo"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text=" to "/>
</LinearLayout>
<kankan.wheel.widget.WheelView android:id="@+id/endHour"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="43dp"
/>
<kankan.wheel.widget.WheelView android:id="@+id/endMins"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<kankan.wheel.widget.WheelView android:id="@+id/endAmpm"
android:visibility="gone"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
</LinearLayout>
I think you want to use FrameLayout. Change your main.xml to look like this:
Then in in the activity: