Android :: How To Use Androids To Create Custom View Class?
Aug 15, 2010
I am using a custom class based off RelativeLayout but it obviously doesn't render in the Eclipse layout editor. I have found this article regarding LayoutInflater.Factory and it sounds like what I need to be doing but I can find no guides to using LayoutInflater.Factory.
http://www.macadamian.com/blog/post/android_-_custom_classes_from_xml_layout/
Could anyone help with exactly what and where I do this? I understand what is said in the article, but need specifics on where to declare, hook, whatever the Factory. In case it is helpful, here is the complete console output from when I try to view main.xml in Layout view..
java.lang.ClassCastException: android.view.View cannot be cast to android.view.ViewGroup
at android.view.LayoutInflater.rInflate(LayoutInflater.java:619)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
at android.view.LayoutInflater.inflate(LayoutInflater.java:296)
at com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:396)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.computeLayout(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.recomputeLayout(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.activated(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.pageChange(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1076)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:601)
at com.android.ide.eclipse.adt.internal.editors.AndroidEditor.selectDefaultPage(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.AndroidEditor.addPages(Unknown Source)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:357)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:843)
at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:829)
at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:139)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:270)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:279)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:87)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1025)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3256)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2045)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:323)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
View 2 Replies
Aug 17, 2010
I want to build my own custom view which should look like the Crysis-GUI.At first I designed a XML-based Layout and made it visible via the setContentView(int resid)-Method. Worked pretty well.But now I wan't to go a step further and draw in my Layout. So I created a new Class, let it extend View and overrode the onDraw()-Method. So far so good.But how can I still use my XML-Layout? I can't do setContentView anymore, so how could the same effect be achieved?
View 1 Replies
View Related
May 20, 2010
I am very new to android application development.I want to know how to create custom option menu class in android so that it is able to display 6 menu name in one row instead of 3 menu item in 2 row which is the default of the android option menu framework...
View 1 Replies
View Related
Aug 17, 2010
I currently have an app that has many activities and needs to have a way of maintaining state between these activities.
I use the Application class to do this, declaring my global variables and using getters and setters to interact with my activities.
I was hoping to place a few custom methods in there, so that when I want to do a common task like, for instance, display an error message, I can declare the method in my application class and call it from any activity that uses it
EscarApplication application = (EscarApplication) this.getApplication();
EscarApplication being the name of my application class above.
I have tried to include this method in my application class:
CODE:.....
In the hope that I can call this method from activity without having to redeclare it, but when I call it using something like below I get an null pointer exception:
Visit.this.application.showError("Update error", "An error has occurred while trying to communicate with the server");
Visit being the name of my current activity above.
Should this work, or can I only use getters and setters to change global vars in an Application Class.
EDIT Stack Trace:
CODE:...............
The dialog is declared as such in the application class:AlertDialog alertDialog;
Created in that same class:alertDialog = new AlertDialog.Builder(this).create();
And the method to call it in that class is as follows:
CODE:.............
And finally, it is called from an activity like so:
CODE:........................
View 3 Replies
View Related
Oct 4, 2010
I have a imageView, editText and textView within a LinearLayout. I would like to animate the EditText onTouch, to make it twice as taller and display a softkeyboard so that users can type into it. I cannot figure out if I should write some custom logic in applyTransformation of animation class which extends android.view.animation.Animation class OR go with a viewSwitcher which switches to a different view with bigger EditText. I would like to have a smoother transition if possible.
View 3 Replies
View Related
Jul 8, 2009
I'm creating my own View class, and defining custom xml attributes with a attrs.xml. As long as I provide each attribute manually, there is no problem, but
code:...................
The android:text is properly set in my instance, but the borderDrawable is not. I guess this has something to do with namespaces, because inside the styles.xml, the name="mypack:borderDrawable" is not handled by the XML parser's namespace facility, because its inside an attribute value. So "mypack" is in no way connected to "http://some.weird.url.com/seems/not/to/ matter" and adding it via xmlns:mypack... to the stylefile would not help, I guess. In the same file, "android:text" is somehow recognized, even though "android" is AFAIK only a ns-defintion for [url], which is also not declared in that file.
So what is the proper way to set a custom attribute in a style?
View 3 Replies
View Related
Aug 8, 2010
I am using the following method in a new application I'm developing. There is a main activity, which instantiates different classes that extends RelativeLayout and I'm using setContentView to switch between the different modules of the application. I wonder if this is a good approach or necessarily I have to use different activities to the several screens the app haves.
View 1 Replies
View Related
Aug 8, 2010
I want to create a custom view.In which i want to have a background image,2 buttons,1 textview.Can anybody tell me how to start with.
View 2 Replies
View Related
Mar 8, 2010
Can anyone suggest a good tutorial about how to create custom view?
View 1 Replies
View Related
Aug 28, 2010
How to create custom view with two independent sections, each slideable? Example would be iPad Zillow -> http://www.zillow.com/ipad/I was wondering if this can also be done on the home screen and not only in new app.
View 1 Replies
View Related
Nov 4, 2010
As I am reviewing and prototyping my android project, I noticed that there is a view that has a list of items that are very customized. I have figured out most of my tools that I plan to use but I need some advice.
I have a list of items which can contain photos, some text to the right, an image to the bottom and more text below that. Very confusing I know. Each of these might be present for an item. The only thing that will always be there is the title.
So my question - what is the best way to create each custom list item view? I am thinking I have to use this getView to create each view. But when creating each view, is it best to 1) create a view dynamically and adding an image, for example, if it exists, or 2) create an xml file with all possible elements and hide them depending on the item?
View 2 Replies
View Related
Sep 24, 2009
I try to create my custom view inside a linearlayout. For example
<View android:id="@+id/ViewPaint" class="com.example.android.helloactivity.HelloActivity$DrawingView"/>
In the java source I created a DrawingView class which extends View. Unfortunatly it does not get instantiated. I tried to overwrite the ondraw() but without success. Code...
View 4 Replies
View Related
Oct 8, 2010
I want to display List of Contact Names with the respective phone numbers like
Vikas Patidar <9999999999>
Rahul Patidar <9999999999>
Using AutoCompleteTextView when a user type text in the mobile number field. In default style I can only display the list of names. Can anyone please tell me how can I implement this so that when a user select any item in list and I can display number of that in Mobile number field.
View 3 Replies
View Related
May 19, 2009
I made a Dialog Class with it's view classI want to pop up the dialog when I got some packets from network. so I made a Thread which parses packets and then I made if clause in Run() method There is no problem with parsing packet but when I enter "if clause" and call showDialog() I got Error message
Is there anyone who knows how to pop up a dialog from different thread?
View 2 Replies
View Related
Sep 30, 2009
I have a problem with my DDMS in eclipse. In the logcat view appears only this failure: Logcat View fails with "Could not create the view: For input string: "our" "
I uninstalled and reinstalled the adt and ddms already without any change. I can use the logcat in the command line (tools- adt logcat) but this is not as comfortable as using the logcat in eclipse.
More details of this failure message are:
CODE:...............
View 2 Replies
View Related
Nov 23, 2009
Can anyone tell me how to create the object of c++class in android through ndk my activity is code...
View 1 Replies
View Related
Sep 23, 2010
How to create a class which not extended Activity & how can i use it class?
View 1 Replies
View Related
Jul 30, 2010
How can I create my own Preference class in andorid? with my own layout and own click listener?
View 1 Replies
View Related
Dec 21, 2009
I am trying to create a Helper class to display Toasts in my android app, as follows.
CODE:................
My code is based on the example at: http://developer.android.com/guide/topics/ui/notifiers/toasts.html
My problem is, when I try to inflate the view, I can't call findViewById without the View from the activity I am calling toastAlert in. Is there a way I can access that view?
View 2 Replies
View Related
Jul 25, 2009
I have got a problem. How can i create the following rectangle by using Rect class? I mean Diagonal Rectangle. Is it possible through Rect class?? if not then any other way?
View 4 Replies
View Related
Jul 12, 2010
Is it possible to create another classes object in a class in android. code...
View 4 Replies
View Related
May 5, 2010
How to create arrays of class instances in JAVA. code...
View 1 Replies
View Related
May 26, 2010
I have a custom view that works fine and I'm trying to get gestures into it. The most common technique I see is to add XML, such as this (from Android docs.Can someone point out my errors, suggest a better way that will allow me to get gesture callbacks and/or suggest diagnostic approaches?
View 1 Replies
View Related
Oct 7, 2010
I wish to have a single class which all of my Activity classes extend. I have ListActivities, Activities, MapActivities, TabActivities, etc in my App.
I have many of these different activities in my app, ~12 activities. I want each of them to have the methods which are in the parent class.
Right now, i have created 4 parent activity classes which are extended from a certain activity depending on their type(ListActivity, Activity, MapActivity, TabActivity)
I am creating a lot of redundant code - each of the 4 parent activities has almost identical code, in exception for what class activity it extends.
Here is an example that may clarify what my problem is:
I have an Activity: MenuScreen which extends BaseListActivity BaseListActivity extends ListActivity BaseListActivity contains methods and fields which i want all my activities to have access to I have another Activity: HomeScreen which extends BaseActivity BaseActivity extends Activity BaseActivity contains the same methods and fields which are in my other Base[<type>]Activity classes(such as BaseListActivity)
These methods/fields are copy-pasted to all my Base[<type>]Activity, and seems awfully redundant to me.
Can i create a master activity class which all types of Activity classes can use as its parent? if not, am i stuck with copy and pasting this code and feeling gross/dirty about it?
View 2 Replies
View Related
Jul 20, 2010
When I type ImageView or AnimationDrawable I get a string of errors proclaiming:
AnimationDrawable cannot be resolved to a type.
line 14 Java Problem
I don't understand, do I need to create another class? Or do the AnimationDrawables just not go in the filename.java?
And if I do need to create another class, can you show me how?
View 1 Replies
View Related
Sep 29, 2010
I am new in android
I have created 2 classes.first extends activity and 2nd extends View.
I want to add buttons,image Views etc. into the second class.
how can I do this.
View 1 Replies
View Related
Aug 5, 2010
In a typical Android project you have the res/drawable directories where you can put images but i have some special custom binary files.
where do I usually put them and can i access them via the R-class then?
View 2 Replies
View Related
Feb 5, 2010
I am trying to create HTTP connection using AsyncTask class.
Is it possible to create HTTP connection ?
Can you suggest sample source code?
View 2 Replies
View Related
Jun 19, 2010
CoreStartHere.java
public class CoreStartHere extends TabActivity {
t = getTabHost();
t.newTabSpec("tTask");
t.setIndicator(...);
t.setContent(new Intent().setClass(this, T1Task.class);
} t1Task.java
T1Task extends Activity {
onCreate(Bundle ...) {
:
myListview = (ListView) findViewById(R.id.hdListView);
myEditText = (EditText) findViewById(R.id.hdEditText);
hdItems = newArrayList <String>();
aa = new ArrayAdapter <String>(this, R.layout.hditemview, hdItems);
:
setOnKeyListener (new OnKeyListener() {
onKey(...) {
:
hdItems.add(0, myEditText.getText().toString());
aa.notifyDatasetChanged();
:
} } } }
hditemview.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
class="com.a1.hd.hdRecordTaskListItemView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:scrollbars="vertical"
android:textColor="@color/HD_Text"
android:fadingEdge="vertical"
/>hdRecordTaskListItemView.java
hdRecordTaskListItemView extends TextView {
// has 3 constructors
// onDraw
}
None of the constructor in hdRecordTaskListItemView get invoked and not surprisingly onDraw does not get called either. The text appears with the default style. The onDraw is supposed to draw on the "canvas".
View 1 Replies
View Related
Aug 8, 2010
How could i inflate my custom view using the main.xml file?
View 2 Replies
View Related