Android :: Invoke Changes To A Custom View Object From Its Activity?
Nov 7, 2010
I have a custom view that draws to a canvas. I am trying to invoke changes to the canvas when the user pushes a button from the activity that this view is tied to. Currently, I am attempting to do this by calling a public method, called setNewDrawable, that I created inside the view.
The debugger is giving me different values for the view ID depending on whether I'm inside setNewDrawable or inside the Overridden onDraw method when I post an Invalidate.
For example the debugger variables show: (This - MyView id=830067720176) or (This - MyView id=830067712344) in setNewDrawable and onDraw respectively. This makes me think I basically have two copies of the object and I am essentially interacting with the wrong one.
How can I get information to my custom View in order to determine what it draws?
Here is the code I am running...
View 1 Replies
Oct 10, 2010
This is a followup to this post: http://stackoverflow.com/questions/3897176/findviewbyid-in-a-subclassed-surfaceview-throwing-runtimeexception Based on Romain Guy's feedback (which I'll accept shortly as it is a solution), I'd like to obtain the calling Activity from within the View, so that I can use it to obtain the desired Text View resource. I don't see any methods in View that return Activity. What is the proper way to do this? Or is there a better alternative for working with TextViews from within another View context. Basically, I am calling setContentView(R.layout.xxx) in onCreate() (as usual), so I don't really have a way to pass in references to additional TextViews unless I awkwardly retrieve the View after setContentView and then make calls on it.
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
Oct 20, 2010
I have recently hit a snag using the Android plugin to Eclipse. For some reason, ALL of my errors being thrown don't initialize and show me the error. Has anyone ever seen this issue before and if so, what did you do to correct it? In particular, I am seeing it when I try to invoke the HTTPGet in a HTTPClient object. If I have no connectivity, then I should get an error. The Catch block does fire when this occurs...however, when I check my general Exception object, the object is NULL (NULL Pointer). Why would this happen if the catch is grabbing the exception?
My exceptions used to be working and I was able to see the stack trace. However, I can no longer see any stack trace regardless of the Exception class I am using. Can someone please help me understand what the heck is wrong with Eclipse, Android, or both? Is there something I am missing on the configuration side?...is this a bug? Mind you, I have already used Stack Overflow for this question. It has been viewed 40 times but no answer yet.
View 4 Replies
View Related
Sep 9, 2009
I want to do some automated testcase with Instrumentation . Suggest that my AUT has 2 Activity. After clicking the button in ther first Activity, the second one will be shown with new content base on what we enter in the first Activity.) Instrumentation provides us the function called startActivitySync() and return the Activity object for processing. My question is how we can get the pointer of the second Activity after the it is shown by clicking the button on the first activity.?
View 2 Replies
View Related
Sep 21, 2009
I have an Activity that running on system. I can get the Intent that is used to start the activity. But i don't know how to get the Activity object from the Intent object or something else. Can anyone tell me how to do this??? Note that, I don't use Instrumentation object.
View 11 Replies
View Related
Mar 29, 2010
I need show ads in my application. Ads in my custom view must move from bottom of screen with animation. How can I add my view in bottom of screen?
View 2 Replies
View Related
Oct 13, 2010
I have a toolbar view set for most of my activities.
The toolbar has several buttons which all trigger certain intents. Now, the problem is: how can I close current activity before starting another one ?
Problem 1) Activity cones For instance one of the buttons ('A') starts activity A. Activity A also has toolbar. If you press on the 'A' button, a new A activity will be started. I suppose I can look at Activity.getInstanceCount(), right ?
Problem 2) Unnecessary activities The activity X is not needed any more if the opts for A. I just want A then. How can I remove X from toolbar which only has access to context ?
I, of course could find toolbar view inside activity X and override the onClicks, but in general this would mean doing so for all my activities !? Am I on the right track ?
View 2 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
Oct 15, 2010
Could some one please tell me how to invoke an activity from a service when the service receives some content from a server. the service keeps getting the data and the activity needs to update itself.
I am unable to find a good tutorial for broadcast intents stuff.
View 1 Replies
View Related
Feb 28, 2010
I like to know how can i clone a view object which is already there in the view hierarchy, so that it can be added to the same view hierarchy again.
View 1 Replies
View Related
May 2, 2010
I've configured local service under some app i wanna know how could i invoke methods on the activity, through the service in a synchronous way for example the service invoke a method inthe activity and waiting for for result(synchronous) from it.
View 2 Replies
View Related
May 7, 2009
We see API for saying which is the next focusable view.. however during the event handling we want to set the focus to xyz view object pro grammatically . Is that possible.
View 3 Replies
View Related
Mar 9, 2009
In the Tab2 of TabActivity in the APIDemo example, it has this method to create a View object for each tab. code...
Can you please tell me how can I create a View for each tab from an xml layout file? For example code...
View 2 Replies
View Related
Aug 7, 2009
I have a very simple requirement. I have a View object, lets say an ImageView object. I want to move this ImageView object in a circle.
More specifically, I want to move it along an arc, which is not a complete circle. I found in Android Documentation that comes with SDK that we can create a path from an arc but it does not mention how to use this path to make an animation that goes along that path.
Please note that I dont want to rotate the image. I have to move it in a circular path.
View 3 Replies
View Related
Apr 26, 2009
When start the activity i will set the activity object to the Application, and i will registry it in the Appication app = MyApplication.getApplication(this);
1. Start Activity A store A id 0x12345678
2. Activity A -> Activity B
3. Store B id 0x87654321
4. Finish B activity
5. but the Activity B object not null in the Application
View 7 Replies
View Related
May 25, 2009
Is there someone could tell me how to get the KeguardScreenCallback object in my own Activity(For Example,the class of LockScreen,it has a parameter called "callback" in it's constructor,I want to get the "callback" in my activtity).so I can call the goToUnlcokScreen method to remove the screen lock.Or there maybe other way to do this?(I know KeyguardManager,so except this way first.
View 2 Replies
View Related
Aug 28, 2009
I have an activity which implements an OnItemClickListener.code...
However, I need to pass some objects from MyActivity1 to MyActivity2 --
I see there is an Intent.putExtra() for all the basic types, and I even see a Bundle which is a collection of basic types, but how can I pass a generic "Object" to MyActivity2 ?
View 3 Replies
View Related
Oct 15, 2009
There is an activity which has an object. This activity(say A) starts another activity(say B). Can B use some object in A?
View 7 Replies
View Related
May 31, 2010
I 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 Related
Jan 11, 2010
I have a Adapter View derived class (say GridLayout) in which I arrange views in a grid. When items in the grid exceed the height of the GridLayout( or screen) I want a scrollbar to appear. I have handled scrolling in onTouchEvent. But the problem is the scrollbars don't appear. I have set the vertical scrollbar to be enabled, but no use. The docs say the scrollbar appears every time the scrollTo or scrollBy methods are called.
View 2 Replies
View Related
Sep 15, 2010
I want to share streams of a socket connection between the activities of a tab view. In particular the tab activity creates the socket and gets the i/o streams,so i want that tabbed activities use these streams to retrieve informations without reconnect to the server each time i switch from a tab to another. I know i can use the application class to have a global state, but i don't know how.
View 4 Replies
View Related
Aug 3, 2010
I think this is a pretty simple question but I'm having trouble finding the answer out there.I'm developing an android application (currently developing against v1.5 API) and one of the activities use a ListView. I want to be able to set the properties of each List Item based on the state of an in memory object rather than the state of the view or list item.Here is a simple example....say I have a Person class who's public members are defined as follows. Code...
View 1 Replies
View Related
Dec 14, 2009
This subject originates here: http://groups.google.com/group/android-beginners/browse_thread/thread...
To sum up:
When I click on an item in the ListView, the background color that gets changed is not that of the clicked item but instead of the other item in the opposite side relative to the middle item:
1 <-- I click here 2 3 <-- Acts as a mirror 4 5 <-- This is the one that gets changed
1 2 <-- This is the one that gets changed 3 <-- Acts as a mirror 4 <-- I click here 5
This problem persists even when I use CheckedTextView like what is suggested in the post.
I use the latest stable SDK.
This problem occurs when the target platform is Android 1.6, 2.0 or 2.0.1.
The problem does not occur when the target platform is Android 1.1 or 1.5.
However, the problem will also occur when the program is compiled for 1.5 and run in 2.0.1.
The simple problematic code can be found here: [url]
There I also put the screenshots showing the problem: demo01.png: I click an item. demo02.png: the clicked item doesn't get changed but the reflective item does.
Is this a bug in newer Android platforms?
If it is intended, what is the reason and could you please show me how I should fix my code?
View 6 Replies
View Related
Nov 18, 2010
I want to get the current focus view in my Service to check the view is a EditText and append some texts in it (for all EditTexts, not only in my application).
I found some methods to do this, like Activity.getCurrentFocus() and Windows.getCurrentFocus(). But these methods are used in a Activity.
How can I use these methods in a Service? Or is there another way to do?
View 2 Replies
View Related
Mar 17, 2010
In my activity , I create a Bitmap object, and I need to launch another activity,
How can I pass this Bitmap object from the sub-activity (the one which is going to be launched)?
View 1 Replies
View Related
Nov 15, 2010
I have read posts on passing arrays from and to activities, but I am confused as to how I would do it for my specific case.
I have an array of objects called DaysWeather (a DaysWeather[] array) where the objects have several String attributes as well as a bitmap attribute. I read somewhere that you have to make it serializable or parceable or something, but it seems messy at first glance.
Could someone lead me in the right direction?
Is there a simple way to do this?
View 1 Replies
View Related
Mar 3, 2009
My purpose is very simple : each 1second, I want to redraw an object on different place on background. I do not know where my error on this code below. Here is my code:
public class My_View extends View{ private Bitmap mBackground_img;
private Drawable mMoveObject; private int mObjectw,mObjecth; private int Dx,Dy;
private Handler myHandler = new Handler(); private long lasttime;
public My_View(Context context,AttributeSet ats,int ds) {
super(context,ats,ds); init(context);
} public My_View(Context context,AttributeSet ats) { super(context,ats);
init(context); } public My_View(Context context) { super(context);
init(context); } public void change() { invalidate();
} private void init(Context context) {
Resources res = context.getResources();
mMoveObject = res.getDrawable (R.drawable.lander_firing);
mBackground_img = BitmapFactory.decodeResource(res, R.drawable.my_pic);
mObjectw = mMoveObject.getIntrinsicWidth();
mObjecth = mMoveObject.getIntrinsicHeight();
Dx = Dy = 0; lasttime = System.currentTimeMillis() + 1000;
Thread mthread = new Thread(null,doBackground,"Background");
mthread.start(); } private Runnable doBackground = new Runnable() {
public void run() { long now = System.currentTimeMillis();
if(lasttime < now ) { Dx = Dx + 10; Dy = Dy + 10;
lasttime = now + 1000; myHandler.post(change_view);
} } }; private Runnable change_view = new Runnable() {
public void run() { change();
} };
@Override public void onDraw(Canvas canvas) {
canvas.drawBitmap(mBackground_img,0 ,0 , null);
mMoveObject.setBounds(Dx, Dy, Dx+mObjectw, Dy+mObjecth);
mMoveObject.draw(canvas);
} }
View 7 Replies
View Related
Nov 11, 2010
My question is almost exactly this question:
Clone textview to append it to a ViewGroup
However, I was inflating a view, and then attempting to clone it at the object level for performance reasons (I don't want to parse XML every single time), so that answer doesn't help me. View.clone() is protected and it apparently doesn't have a copy constructor. Is there any way to do this?
View 1 Replies
View Related
Aug 7, 2009
I am developing an app that connects to a server. For that connection I created a class Client that maintains info about the connection . My app consists of several Activities and each of that Activity needs access to the Client object to communicate to the server. 1) Can I put somewhere the Client object so that all Acitvities have an access to it? 2) If not I would probably need to pass the object to each Activity via Intent.putExtra(). But putExtra doesn't accept Object as an argument. It only accepts several types like int, long, String etc. So how can I pass an object to another Activity?
View 2 Replies
View Related