Hi Jark,

I changed  from onStart() to onResume(),But still it prints as o for everything.

Is there any other way to get screen coordinates,,any suggestions please.

Thanks
Kavitha

On Tue, Mar 24, 2009 at 12:07 PM, Jark Reijerink
<jark.reijer...@gmail.com> wrote:
> Hi Kavitha,
>
> If i look at the the Activity lifecycle -->
> http://developer.android.com/reference/android/app/Activity.html
>
> I see that when the onStart() method is called the activity is becoming
> visible, can you try changing onStart() into onResume()?
>
> With kind regards,
>
> Jark
>
> 2009/3/24 kavitha <kavith...@gmail.com>
>>
>> Hi Jark,
>>
>> I tried to print the view coordinates,they print value as 0.
>>
>> If i say v.getLeft()  even that print it's value  as 0.
>>
>> I am not understanding.Please help on this regard.It displays frame
>> and images correctly in position.
>>
>> Here is my code.I am trying to print view values in onStart()
>>
>>
>> package com.android.table;
>>
>> import android.app.Activity;
>> import android.graphics.Bitmap;
>> import android.graphics.BitmapFactory;
>> import android.os.Bundle;
>> import android.view.Display;
>> import android.view.View;
>> import android.view.ViewGroup;
>> import android.view.WindowManager;
>> import android.widget.FrameLayout;
>> import android.widget.RelativeLayout;
>> import android.graphics.Rect;
>>
>> public class GameDemo extends Activity {
>>      public static int idLayout = 1;
>>      public static int screenheight = 0;
>>      public static int screenwidth = 0;
>>      public AddPegHoles adp = new AddPegHoles(this);
>>      public Hole h;
>>      public static int holeid = 0;
>>
>>      Hole[] holeArray = new Hole[3];
>>
>> - Show quoted text -
>>      FrameLayout l1,l2,l3,l4,;
>>      RelativeLayout layout;
>>      /** Called when the activity is first created. */
>>     �...@override
>>  public void onCreate(Bundle savedInstanceState) {
>>      super.onCreate(savedInstanceState);
>>      setContentView(R.layout.main);
>>      layout=(RelativeLayout) findViewById(R.id.tableviewback);
>>      layout.setBackgroundResource(R.drawable.woodenbackground);
>>
>>      Display display;
>>      display =
>> ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
>>      screenheight = display.getHeight();
>>      screenwidth = display.getWidth();
>>
>>      l1=(FrameLayout)findViewById(R.id.frame1);
>>      adp.addPegHoles(l1, 1,0);
>>      createHole(holeid,true,R.id.frame1,1);
>>      l2=(FrameLayout)findViewById(R.id.frame2);
>>      adp.addPegHoles(l2, 1, leftpadding+l1.getWidth());
>>      holeid++;       createHole(holeid,true,R.id.frame2,1);
>>      l3=(FrameLayout)findViewById(R.id.frame3);
>>      adp.addPegHoles(l3, 1, leftpadding+l1.getWidth());
>>      holeid++;       createHole(holeid,true,R.id.frame3,1);
>>
>>
>>      int  leftpadding=(screenwidth/7);
>>      int  toppadding=(screenheight/7);
>>
>>
>>       ViewGroup child=(ViewGroup)layout.getChildAt(0);//frame1
>>        child.setPadding(45*2, 45, 0, 0);
>>        child=(ViewGroup)layout.getChildAt(1); // frame2
>>        child.setPadding(45*3, 45, 0, 0);
>>        child=(ViewGroup)layout.getChildAt(2); //frame3
>>         child.setPadding(45*4, 45, 0, 0);
>>
>>     }
>>
>>     public void onStart(){
>>       super.onStart();
>>
>>       int[] loc=new int[2];
>>
>>        View v = layout.getChildAt(1);
>>                v.getLocationOnScreen(loc);
>>              System.out.println(loc[0]+loc[1]);
>>              System.out.println(v.getLeft());
>>               System.out.println(v.getRight());
>>
>>
>>
>>             v=(FrameLayout)findViewById(R.id.frame1);
>>
>>                v.getLocationOnScreen(loc);
>>              System.out.println(loc[0]+loc[1]);
>>              System.out.println(v.getLeft());
>>               System.out.println(v.getRight());
>>
>>    }
>>
>>                  public void createHole(int holeid, boolean filled,
>> int parent_frame_id,
>>               int parentrow) {
>>               h = new Hole(holeid);
>>               h.setHoleId(R.drawable.hole);
>>               h.setHoleIndex(0);
>>               h.setFilled(filled);
>>               h.setParentFrameId(parent_frame_id);
>>               h.setParentRow(parentrow);
>>               h.setMarbleId(R.drawable.marble);
>>               h.setMarbleIndex(1);
>>               holeArray[holeid] = h;
>>
>>       }
>> }
>>
>> And I am adding imageviews for frame in AddPegHoles.java looks like this
>>
>> package com.android.table;
>>
>> import android.content.Context;
>> import android.view.ViewGroup;
>> import android.widget.FrameLayout;
>> import android.widget.ImageView;
>>
>> public class AddPegHoles {
>>
>>       public Context context;
>>       public static int id=0;
>>
>>       AddPegHoles(Context c){
>>               super();
>>               this.context=c;
>>
>>       }
>>
>>       public void addPegHoles(ViewGroup v,int row,int leftpadding){
>>
>>               ImageView iv1=new ImageView(context);
>>               iv1.setImageResource(R.drawable.hole);
>>               ImageView iv11=new ImageView(context);
>>               iv11.setImageResource(R.drawable.marble);
>>               id++; v.setId(id);
>>               v.addView(iv1,0);v.addView(iv11,1);
>>
>>       }
>>
>> }
>>
>>
>>
>>
>>
>>
>> And my AndroidManifest.xml looks like this
>> <?xml version="1.0" encoding="utf-8"?>
>>
>> <RelativeLayout
>> xmlns:android="http://schemas.android.com/apk/res/android";
>>
>>  android:layout_height="fill_parent"
>>  android:layout_width="fill_parent"
>>
>>  android:background="#000044"
>>  android:id="@+id/tableviewback"
>>
>>  >
>>
>>  <FrameLayout android:layout_height="wrap_content"
>> android:layout_width="wrap_content"
>>
>> android:id="@+id/frame1"></FrameLayout>
>>
>>  <FrameLayout android:layout_height="wrap_content"
>> android:layout_width="wrap_content"
>>
>> android:id="@+id/frame2"></FrameLayout>
>>
>>  <FrameLayout android:layout_height="wrap_content"
>> android:layout_width="wrap_content"
>>
>> android:id="@+id/frame3"></FrameLayout>
>>
>> </RelativeLayout>
>>
>>
>>
>> Can anybody help on this????
>>
>> Thanks
>> Kavitha
>>
>> On Mon, Mar 23, 2009 at 5:28 PM, Jark Reijerink
>> <jark.reijer...@gmail.com> wrote:
>> > Hello,
>> >
>> > Are you sure you're getting a valid FrameLayout?
>> >
>> > Because if findViewById doesnt finds a valid view it returns null. Which
>> > could explain the NullPointerException.
>> >
>> > Also: are you setting your xml layout with setContentView in your
>> > onCreate
>> > method? If so try putting your code after that method call.
>> >
>> > Jark
>> >
>> > 2009/3/23 kavitha <kavith...@gmail.com>
>> >>
>> >> Hii All,
>> >>
>> >> I am developing a game in android and i want to capture screen
>> >> coordinates of a view(ImageView) which is embedded in frame.
>> >>
>> >> Hierarchy is
>> >> <LinearLayout android android:layout_height="fill_parent"
>> >> android:layout_width="fill_parent" >
>> >>     <RelativeLayout android:layout_height=fill_parent"
>> >> android:layout_width="fill_parent" >
>> >>           <FrameLayout android:layout_height="wrap_content"
>> >> android:layout_width="wrap_content"
>> >> android:id="@+id/frame14"></FrameLayout>
>> >>   </RelativeLayout>
>> >> </LinearLayout>
>> >>
>> >> At run time i am attaching two image views for frame layout.I wanted
>> >> to capture screen coordinates of frame layout.But Couldnt do it.if i
>> >> say
>> >>
>> >> (FrameLayout) f=(FrameLayout)findViewById(R.id.frame14);
>> >> int[] loc = new int[2];
>> >> f.getLocationOnScreen(loc);
>> >> System.out.println(loc[0]);
>> >> System.out.println(loc[1]);
>> >>
>> >> I get Null Pointer Exception for getLocationOnScreen() method.
>> >>
>> >> If I try to get f.getLeft() and f.getRight() they return as 0
>> >> coordinates.
>> >>
>> >> Can anyone please tell me how to find location on screen of a view.
>> >>
>> >> I tried even in onStart() method,,,still i get Null Pointer Exception.
>> >>
>> >> Please tell me how to get screen coordinates of a view in android.
>> >>
>> >> It is very urgent.Please help.
>> >>
>> >> Thanks
>> >> Kavitha
>> >>
>> >
>> >
>> > >
>> >
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to android-beginners@googlegroups.com
To unsubscribe from this group, send email to
android-beginners-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to