Android :: Nest One Custom Views Within Another?
Nov 10, 2010Is it possible to nest one custom views within another Custom view?
View 13 RepliesIs it possible to nest one custom views within another Custom view?
View 13 Repliesim having a problem getting a custom view that i created on the xml layout file. i have a class named DrawingLayout which extends FrameLayout. it is found in the package Drawing
as stated on this page http://developer.android.com/guide/topics/ui/custom-components.html i used the following decleration in xml
<Drawing.DrawingLayout ... />
but whenever i run the program with that decleration i get a runtime exception error on SetContentView( ... )
is there something im not doing well? If you need any more details please tell me because i cant seem to figure this one out.
*I have used three custom views... playpanel works fine.. but drawHeaderpanel does not workk..*
public class MainPanel extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...................
Does anybody knows if (and how ) I can write a custom view/widget and then use it in resources in layout defintions?
View 5 Replies View RelatedI am parsing the url to display the contents in it, my requirement i have to display the each content in separate textviews.
For Instance: Let us assume the contents in that url are FootBall, Carom , chess, VolleyBall and so on . I want to display FootBall as a individual textview similarly others. so i cannot declare the textviews in xml what i usually do.
CODE:................
So i planned to create textview via java code
This is my parsing code which parse the url contents and store the result in a string array namely san_tagname; depending upon the length of this variable i want to create number of textviews.
CODE:..................
I have made a Custom Component in XML, consisting of a button with an imageview stacked on top of it:
<myapp.widget.ClearableCaptionedButton
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/ccbutton_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@android:drawable/edit_text"/>
<ImageView
android:id="@+id/ccbutton_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dip"
android:layout_alignRight="@id/ccbutton_button"
android:layout_alignTop="@id/ccbutton_button"
android:layout_alignBottom="@id/ccbutton_button"/>
</myapp.widget.ClearableCaptionedButton>
Extract of java source code:
public class ClearableCaptionedButton extends RelativeLayout implements OnClickListener {
...
public ClearableCaptionedButton(Context context, AttributeSet attrs) { super(context, attrs);
// some stuff that works fine
} ..
protected void onFinishInflate() { super.onFinishInflate();
mButton = (Button) findViewById(R.id.ccbutton_button);
mClear = (ImageView) findViewById(R.id.ccbutton_clear);
mButton.setText(""); // error here: mButton == null
}
My problem is similar to this one. When I try to find the views inside the custom compound, findViewById returns null. But, as you can see, i already added super(context, attrs); to the constructor. I am using the custom component directly in xml layout, like this:
<LinearLayout>
<!-- some stuff -->
<myapp.widget.ClearableCaptionedButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:caption="to"/>
</LinearLayout>
I created a custom SurfaceView called CaptureView and tried to add it into main.xml file.The application seems to work fine but if I switch from main.xml tab to Layout in Eclipse the text NullPointerException appears instead of layout preview.Does anyone know how this issue could be solved?
View 2 Replies View RelatedI have a set of custom views that I would like to add to a LinearLayout object. However, the first object I add to the layout (I do this dynamically, during runtime) has a OnMeasure method that tries to get as much space as possible resulting in that it get's all the space LinearLayout object. This is correct behavior, but when I then add more objects following that I want the allocated area for the first object to decrease so the others will fit. As it is now, each following object will get zero space, and hence won't be visible.
View 4 Replies View RelatedI have a requirement to create a control similar to UITabBar in iPhone, which is to be present on every activity of my application. UITabBar essentially is a battery of buttons exhibiting a TAB like behavior: every button maps to an activity. I have two solutions for this: 1. In the layout XML for every activity, I insert a <LinearLayout><Button/><Button/><Button/></LinearLayout> element. And then have a common listener class that will handle the button clicks. So, every activity will have an instance of this listener. 2. To create a custom Widget extending LinearLayout class, put all the buttons as its static members and let it handle the button clicks. Include this custom control in every screen.
View 3 Replies View RelatedIs it possible to clone a view. If no, how to support clone of a view in custom views. If yes.. which api should we use. clone method seems to be protected for view.
View 2 Replies View RelatedI am developing a small app for Android. I am creating my own view.
I am planning to design the layout to be:
<LinearLayout>
<MyView>
<Button><Button>
</LinearLayout>
But when I run my program, my custom view will cover the whole screen. Is there anyway to avoid this?
I have already tried to add android:layout_width, layout_height to be wrap_content, fill_partent, but no luck.
While researching how to create custom compound views in Android, I have come across this pattern a lot (example comes from the Jteam blog)I mostly understand how this is working, except for the part where inflate() is called. The documentation says that this method returns a View object, but in this example the author does not store the result anywhere. After inflation, how is the new View created fromt eh XML associated with this class? I thought about assigning it to "this", but that seems very wrong.
View 1 Replies View RelatedI have a simple ListView and on that ListView I have placed a number of custom defined Views. The CustomView has ImageView and two TextViews.
The CustomView also has a "stateful drawable" as background, so that the background image (a 9-patch) changes if you press the Row in the ListView. When pressing the Row, the background image changes to a Red-ish thing.
The problem is that when the background changes from the default greyish, all the Views in the CustomView (ImageView and TextViews) still have their greyish background and thus creates very ugly greay boxes on top of the now redish background.
What is the best way to solve that problem? I hoped that such things were handled automatically (as it is done in for example .NET), but I was wrong it seems.
I have an activity defined as:
CODE:...................
I've successfully implemented onRetainNonConfigurationInstance() for my main activity to save and restore certain critical components across screen orientation changes.
But it seems, my custom views are being re-created from scratch when the orientation changes. This makes sense, although in my case it's inconvenient because the custom view in question is an X/Y plot and the plotted points are stored in the custom view.
Is there a crafty way to implement something similar to onRetainNonConfigurationInstance() for a custom view, or do I need to just implement methods in the custom view which allow me to get and set its "state"?
I am implementing a music player application in Android. My play list selection screen is implemented as a tab selector widget which contains a ListActivity inside each of the tabs: Artist, Albums, Songs.
I want to update the ListView in each of the ListActivity when I delete an item from any of the lists.
i.e. When I long press an item in the Artists list a context menu is drawn with "Delete Artist"
And it should delete all the songs from this artist in the Songs ListView, delete all the albums by this artist in the Albums ListView, and finally delete the entry for the artist in the Artist ListView.
Each of the ListActivity has its own fillData() method, which updates the ListView when the button in the context menu is pressed.
How can I call the fillData() method of the Albums ListActivity after I update the ListView inside of the Artists ListActivity?
I want to populate a table, defined in layout xml file through the programmatic way. I have define Table with a single row defining its header, with all the attributes set. Now i want to know a way so that i can just replicate that header row in the table with new content.
I tried using inflator inflate(int,view) method, but at runtime it showed up with error.
Here is the XML code for the layout file defining the table
CODE:.................
I have the following XML code:.................
The idea is to change the views, whenever I press one of the radio buttons. When I press a button the first time everything works out fine, but the second time I press a button, I get an IllegalStateException, and I can't quite see why I'm getting this.
Also, the Activity seems to set all my global variables to null, which is why I have to create them every time I switch from portrait to landscape or vice versa. So I would like to know if there is a way I can save my views in the Bundle, or any other way in which I can permanently save my views, so I don't have to add or create them every time, I flip the phone. And whenever I flip the phone, it seems that it rereads the main XML file, causing the RadioGroup to be set to 2D even if the 3D button is checked. This is because I've said the 2D button to be checked from when the app is first created, but I would like to also save the state of that RadioGroup.
How do you align views relative to the "middle" part of another view? I think it is best explained with a pic of the UI I'm trying to create in android.
View 2 Replies View RelatedIs there any way to query a root view of an activity for all of its child views even before the root view or its children have been inflated? I guess what I'm looking for is whether a view knows ahead of time what children it will have before it gets inflated, and can I get that list in some way. Bizarre I realize, but I think it will help me with some unconventional automation testing I'm working on. I haven't found anything in the API like this.
View 1 Replies View RelatedLet's say I have a LinearLayout, and I want to add a View to it, in my program from the Java code. What method is used for this? I'm not asking how it's done in XML, which I do know, but rather, how can I do something along the lines of (One View).add(Another View) Like one can do in Swing.
View 2 Replies View RelatedI have seen examples implementing a custom Filter. The Android developer docs talk about implementing a Filterable interface. Does anyone have any advice and/or sample code on the best way to implement filtering in a ListView ?
View 2 Replies View RelatedI am writing a custom preference dialog derived from DialogPreference and I want to pass some custom attributes to the dialog through the preference's XML definition. Here's my preference.xml file:
CODE:...............
I am working on an Android app that has multiple screens the user will need to navigate between and I am curious what the best practices are when switching between those screens. I am torn between creating a new Activity for each screen and simply changing the view (setContentView(R.layout.whatever)). The screens all share at least some variable values so I'm leaning toward changing views and using class level variables, but I'm worried a single activity could become very large and confusing with logic for multiple screens in a single file. I'd like to keep the code clean and separated, but I also don't want to be passing several variables around between views if that isn't needed.Being new to Android development, I'm hoping some more experienced members of the community could share their thoughts and let me know how best to handle it
View 2 Replies View RelatedI'm new at this, I have not seen any examples on changing Views, what I want to do is when a user presses a button I want to show a map view based on their input on the first view.
View 4 Replies View RelatedI 'm beginner in Android ,To start with i was asked to do a simple task ,i need to make blue and red screen appear on the screen alternatively , to achieve this i wrote two layout files 1. main.xml -- for to display red screen 2. sub1.xml -- for to display blue screen
In oncreate() i wrote
for(int i=0;i<20;i++) { setContentView(R.layout.main); try { Thread.sleep(500); }catch(Exception e){} setContentView(R.layout.sub1); }
but this doesn't work ,why ? Please help to understand the concept
I currently have one Scrollview which contains a table layout and one list in my activity. Now my problem is that I wanted to move both of them(Scrollview and list) together and with proper synchronization... So if scrollview is being scrolled then listview should also scroll with the same distance, and vice versa...
View 5 Replies View Relatedwhats the exact differences between 1. LinearLayout lin = LinearLayout.inflate (ctxt, R.layout.bla, null); parent.addView(lin); and 2. LinearLayout.inflate(ctxt, R.layout.bla, lin);? Both doing the same thing, or?
I got sometimes a different behavior.
I am using 5 views in one LinearLayout my app.While going to each view i am removing previous view by calling linearlayout.removeAllView(). But I think this is not removing my previous view becoz when i checked memory usage.My app memory is keep on growing.and Becoz of this i am getting low memory :no more background process error and after sometime app is getting hang and then it is exiting.Please help me to solve this problem.How can we clear memory or how can we remove view.Its very urgent.I am using system.gc() and also i cleared object also but no use... I tried to use different activity for each View but at that time low memory is coming immediately.
View 2 Replies View RelatedI have a login page which has a Advanced button. The button sets a view where a user can add some information. When I click save, it goes back to my main view (loginpage) and all info is cleared? How can I save the state of the first view when navigating away and then back to it?
View 2 Replies View Related