Android : Unable To Access R.id From Inside Custom View
Mar 3, 2010
In my foo_layout.xml file I have a subclassed RelativeLayout:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.android.myapp.FooView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/pegboard_table"
android:orientation="vertical"
android:scaleType="fitXY"
>
<ImageView
android:id="@+id/triangular"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/pegboard_board"
android:scaleType="fitXY"
android:gravity="center"
android:visibility="invisible"
/>
<Chronometer
android:id="@+id/timer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/timer_display"
android:textSize="40sp"
android:textColor="#000"
android:layout_alignParentTop="true"
android:gravity="center"
android:visibility="invisible"/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/board_table"
android:visibility="invisible"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:background="@drawable/tab_bar">
<!-- android:layout_alignLeft="@id/options_tab"-->
<ImageView
android:id="@+id/game_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/game_select" android:paddingLeft="15sp"/>
<ImageView
android:id="@+id/undo_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/game_select"
android:layout_weight="1"
android:src="@drawable/undo"
/>
<ImageView
android:id="@+id/settings_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/undo_select"
android:layout_weight="1"
android:src="@drawable/settings"
/>
<ImageView
android:id="@+id/info_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/settings_select"
android:layout_weight="1"
android:src="@drawable/info"
This doesn't seem like the right behavior. I've tried it with other views inside the FooView hierarchy and findViewById() always returns null.
For the life of me I can't figure out what I'm doing wrong.
View 2 Replies
Jun 17, 2009
I want to have a ViewGroup with another View in it. The user should be able to move the other View around the ViewGroup, and fling it away. However, the inner View shouldnt only move, it should also scale and so on (so we dont restrain ourselves to just movements). I don't really know the best way to implement it.
First I though about using a ViewGroup pretty much as it is (i.e. take advantage of the already-written methods). Then I could do the flinging with an Animation. However, when I move the View around with my finger, wouldnt I have to do a requestLayout, since the View changes size when I move it? Or could I just set a transform?
The other alternative would be to override the draw-method and do most of the work myself. For instance, when the user moves his/her finger, I could get a cache of the View and just paint it on the Canvas (with some transform). However, how would I do the flinging then, without an Animation? I could use a Scroller/VelocityTracker, but What would "drive" the repaints? Which is the best way to do this? Also, I won't have just one View, but a couple of them, so I'd like the solution to be effective.
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
Mar 10, 2010
So my layout looks basically like this:
<ScrollView>
<RelativeLayout>
<BunchOfViews/>
<ImageView android:layout_alignParentBottom="true"/>
</RelativeLayout>
</ScrollView>
I have the ScrollView so all of the layout always is visible no matter the height of the screen. The problem is that on a very high screen, I still want my imageview to be at the bottom. However, a child of a ScrollView dont seem to have a defined bottom. The View is placed at the top of the layout. How can I solve this problem in a neat way?
View 4 Replies
View Related
Oct 26, 2010
I am creating an SDK .I have got some problems as follows:
i need to have some predefined images along with the jar.please suggest any method to do this thing. like 1) how to keep the files in jar and 2) how to use it in code.
If any code is very helpful or just any information is very helpful.
View 3 Replies
View Related
Sep 29, 2010
I am having a class that extends View. I have another class that extends activity and I want to add the first class to be loaded inside the activity class.
I tried the following code...
View 2 Replies
View Related
Mar 3, 2010
I have some data files that I need to install together with my application on the emulator for easy testing my app on a device.
Where can I put files in a way that Eclipse will include them into my apk and how can I access those files after my application is installed on the device?
View 1 Replies
View Related
Oct 1, 2010
I would like to access the public method of an Activity run by a TabActivity using: Code...
Basically, what I what is to let the parent Activity call a method in child Activity in order to do something. Is this possible?
I did try this:((TeamHuddleScreenMsgsView)getTabHost().getCurrentTabView().getContext()).refreshModel(); but I'm encountering a ClassCastException. It seems that the getContext() still gives the TabActivity. Any help on how to get the child Activity?
View 2 Replies
View Related
Oct 3, 2010
I want to add a view inside a FrameLayout programmatically and to place it in a specific point within the layout with a specific width and height. Does FrameLayout support this? If not, should I use an intermediate ViewGroup to achieve this? My initial idea was to add an AbsoluteLayout to the FrameLayout and place the view inside the AbsoluteLayout. Unfortunately I just found out that AbsoluteLayout is deprecated.
View 2 Replies
View Related
Apr 16, 2010
I have a problem interacting with a Web View. I'm showing an html login form within a web view and I can't type inside of any of the input fields of the forms. I do can interact with the links, select boxes, buttons, etc.
Here is an example of my code. Basically I'm retrieving the web view from the xml and setting it a WebViewClient and a WebChromeClient. code...
View 1 Replies
View Related
Feb 25, 2010
I have a problem updating a progress bar.
First i have a custom adapter in which i create a row for each item with a textview and a progress bar. (i have a item_row.xml in where i define the layout for each row)
CODE:...............
Ok, now i have a service downloading in background data from an external API, and i want when to update the progress bar every second with the progress of the download.
For that, i have a timer task made with a handler (reference)
But the problem is how can i access again to the progress bars created in my adapter in order to update the progress?
View 1 Replies
View Related
Aug 17, 2010
I have a ScrollView, inside of it there is a TextView, and there are two buttons for PageUp and PageDown in the other part of the layout. When I click on PageDown, I want to see the text in the TextView to scroll down one page. How could I do it?
View 2 Replies
View Related
Nov 19, 2010
A view flipper has 4 list views. When i flip the view flipper using gesture listener implemented on view flipper, it works fine. But I am not able to scroll the list view since the touch event is not able to trickle down from view flipper to list view.
CODE:.............
I want this event to be handled by list view
CODE:.................
View 2 Replies
View Related
Nov 8, 2010
How do I set up an xml layout where an OpenGL view is part of it? As I do now is set the OpenGL view as the only view with setContentView(). But I would like to create an xml layout that includes the OpenGL view. Lets say I want to have the OpenGL view mainly and a small TextView at the bottom.
Is this even possible? Or can an OpenGL view only be the one and only view?
View 1 Replies
View Related
Aug 6, 2010
I have read the Android UI trick 2 on Android developers, which tells people how to include a layout in another layout file multiple times, and give these included layouts different id. However, the sample here is overwriting the layout id, not the id of the views IN this layout. For example, if the workspace_screen.xml looks like this: And I include it three times in another layout file. Do I end up with three TextViews with id firstText, and another three with secondText? Isn't there an id collision? And how do I find the secondText TextView in the third included layout with findViewById? What should I input in the findViewById method?
View 1 Replies
View Related
Oct 12, 2010
I'm very new on Android development.
I have this code...
But this line doesn't work:
extraData.putInt(Constants.GAME_ID, this.gameId);
I can't get access to this.gameId.
How can I fix this?
View 1 Replies
View Related
Oct 19, 2010
I've extended ViewGroup to achieve something like a FlowLayout.I put my custom ViewGroup into a ScrollView, dynamically add a bunch of content and it doesn't scroll.The content that flows off the screen is not viewable.What am I missing, how can I allow my ViewGroup to be compatible with ScrollView?
View 1 Replies
View Related
Sep 14, 2009
I have a listView with custom objects defined by the xml-layout below. I want the textView with id "info" to be ellipsized on a single line, and I've tried using the attributes. Code...
View 4 Replies
View Related
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
Nov 7, 2010
In my program I have a custom view object. Inside the view class is a method called foo. For some reason when I call foo from my activity, it doesn't fire. Here is the code:
XML of the custom view:
<com.company.application.MyView android:id="@+id/my_view" android:layout_width="wrap_content" android:layout_height="wrap_content" />
The activity code:
public class Main extends Activity { MyView mView;
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main);
LayoutInflater li = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = li.inflate(R.layout.main, null); mView= (MyView) v.findViewById(R.id.my_view);
//A button to fire the method inside foo() Button switchLeft = (Button) findViewById(R.id.switch_left); switchLeft.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { callTest(); } } );
} public void callTest() { Log.w(this.getClass().getName(), "clicked left arrow");
mView.foo(); mView.postInvalidate();
} }
Finally here is foo:
public void foo() { mBackground = mContext.getResources().getDrawable(R.drawable.temp_canvas); Log.w(this.getClass().getName(), "background set");
}
The first log is always written when the button is pressed, but the second log is not because foo never fires. What is the deal here? Upon request, the full view
public class MyView extends View { Drawable mBackground; Context mContext;
public MyView (Context context) { super(context); mContext = context;
mBackground = mContext.getResources().getDrawable(R.drawable.leftarrow1);
} public MyView (Context context, AttributeSet attrs) {
super(context, attrs); mContext = context;
mBackground = mContext.getResources().getDrawable(R.drawable.leftarrow1);
} public void foo() { mBackground = mContext.getResources().getDrawable(R.drawable.temp_canvas);
Log.w(this.getClass().getName(), "background set"); }
@Override public void onDraw(Canvas canvas) { Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL); // draw a solid blue circle
paint.setColor(Color.BLUE); canvas.drawCircle(20, 20, 15, paint);
// draw a test background mBackground.setBounds(0, 0, 300, 400);
mBackground.draw(canvas); }
}
View 1 Replies
View Related
Feb 12, 2010
Suppose I have a view inside TableLayout, like this:
TableLayout tableLayout;
View view = (View)tableLayout.findViewById(R.id.control);
How can I find out the view's row/column within the TableLayout?
View 1 Replies
View Related
Jan 11, 2010
I have been trying to find a solution for this for the last 3 days but i just failed hit a final answer!
I am creating a View-based class where i show a ball bouncing of the sides. I use a Timer to control the animation.
I want to add a TextView programmatically in my view class. I am trying to instantiate an object of TextView with reference to the context as follows code...
View 3 Replies
View Related
Oct 24, 2012
i've been working on replacing icons in an app for 2 days now, i wanted to try everything i could before i presented my prollems to the good people at XDA
The app is Popup 7
[URL]
Whenever i try to replace even just one .png with another, it will either attempt to install and fail, or just get a parsing error.
Even if i don't replace, and just slightly edit one .png instead, it fails to install.
I have tried :
manually renaming the .apk to .zip, extracting, replacing or editing one .png , zipping, and renaming again = fail
using power archiver to replacing or editing a .png without having to unzip = fail
using the app "ninjamorph" to replace a png within the apk without having to install a new apk = fail (the app force closes after an edit)But if i just rename to zip, extract, Do not touch anything, zip, and rename again it installs fine... (so its not my compressing/decompressing process?)and i am currently trying to learn how to use eclipse to do it? It is a paid app.
I have tried editing my own .apk that i have purchased by getting it from titanium backup (it was in the asec folder) = fail and i have tried editing an .apk download from the webbernet = fail
I was looking over guides and they kept taking about a frameworks file but there is none?
View 4 Replies
View Related
Jan 13, 2010
Is there an application that will allow you to browse to a folder on your phone/SD care and view the photos inside? If it were on a linux PC I would be installing GThumb, on windows ACDSEE. I have tried Photo Burst. It crashes and I had to reset the phone. I have tried Picture Viewer but the latest version does not pan at all. The only way to do something like this with the stock viewer is to have all your photos in the root of the sdcard in folders or within download. Not really the neatest way of doing this.
View 2 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
Nov 4, 2010
I'm trying to build an activity that has a checkbox on top, a button at the bottom, and a bunch of other widgets scrolling in between. Conceptually that'sWhen it renders I get the checkbox at the top, the stuff scrolling nicely underneath, but the Button drawn offscreen (I assume) below the ScrollView. The only way I can get the Button to be visible is to hard-code the height of the ScrollView, which of course only works on one screen-size. I've tried all combinations of gravity and layout_weight I can think of to no avail. Am I using the right combination of Views? Anybody managed to get this working?
View 1 Replies
View Related
Aug 11, 2010
I want the view group to extend with the ScrollView if the content of the group is smaller than the display area of the ScrollView.
How can I have the ScrollView child extend to fill the parent if it's smaller than the parent?
CODE:.........................
View 3 Replies
View Related
Nov 3, 2010
I am on Android 2.1 and I have one multi column Custom listview Using BaseAdapter with an editable edittext at the end of the listview. If the data in the listview do not contain the data of user choice then user should be able to enter data. If the data is already there in the list user will be able to select the data using custom selector. If a selection is made in the list view and user wanted to enter data in the text field at the bottom after selection then the marker in the list view should be unselected. I tried to use onclick() method on edit text using click listener. First time when it is clicked, edit text is getting focus and onclick() method is not fired. And when it is clicked second time, onclick() method is fired and notifyDataSetChanged() method is called. I tried to call the notifyDataSetChanged() method from the Focus Listener, list view selection is gone in my first attempt and edit text is not receiving any data input from the keyboard (frozen).
View 1 Replies
View Related
Jul 16, 2010
I've created a custom view in an SQLite database for an Android application. I'm using Sqliteman on Ubuntu to test my SQL statements before I put them in my app. I'm trying to do a simple select statement on my view. The select statement works fine in SQLiteman but when I put the same statement in my code it throws an error. The statement: select * from item_view where parent_item_id = 0;........
View 2 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