Hallo,
ich habe eine Klasse DrawingView.java, in der der Nutzer ein Rechteck erstellen/zeichnen kann. An den Ecken dieser Rechtecke sollen RadioButtons erscheinen. Bei mir scheitert es leider daran, dass ich es nicht hinbekomme, generell einen Button zu dieser View hinzuzufügen. Kann mir da jemand bei helfen?
Java
public class DrawingView extends View {
protected Paint mPaint;
protected Paint mPaintFinal;
protected Bitmap mBitmap;
protected Canvas mCanvas;
Button b;
public DrawingView(Context context) {
super(context);
init();
}
public DrawingView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
b = new Button(context);
b.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT,
AbsListView.LayoutParams.WRAP_CONTENT));
b.setText("Hello");
FrameLayout f = (FrameLayout) findViewById(R.id.container);
f.addView(b); //FUNKTIONIERT NICHT!
}
public DrawingView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
Alles anzeigen
Das Hinzufügen zum Container funktioniert so leider nicht.
Hier die weiteren Klassen:
MainActivity.java
Java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction().add(R.id.container, new ShapeFragment()).commit();
}
}
}
Alles anzeigen
MyFragment.java
Java
public class MyFragment extends Fragment {
public MyFragment(){
super();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main, container, false);
}
}
Alles anzeigen
activity_main.xml
XML
<FrameLayout xmlns:android="..."
xmlns:tools="..."
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example..MainActivity"
tools:ignore="MergeRootFrame" >
fragment_main.xml
XML
<RelativeLayout xmlns:android="..."
xmlns:tools="..."
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example..MainActivity$PlaceholderFragment">
<com.example..DrawingView
android:id="@+id/drawingview"
android:layout_height="match_parent"
android:layout_width="match_parent">
</com.example..DrawingView>
Alles anzeigen