[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-24 Thread Jark Reijerink
Hi Kavitha,

I see that your frame1 has the parameter wrap_content... If on the start
nothing is in this view then the view will be 0 wide (hence the getLeft and
getRight returning 0).

Later on I see that you're adding content to frame1, I don't think android
automatically adjusts it's view size to the children.

You can review the View documentation on that -->
http://developer.android.com/reference/android/view/View.html#requestLayout().

The documentation of the requestLayout() function is the following: "Call
this when something has changed which has invalidated the layout of this
view. This will schedule a layout pass of the view tree.".

I think you need to call the requestLayout() function if you add any
children to the View, however i'm not sure about that, i can't do any
testing atm because i'm at work.

With kind regards,

Jark

2009/3/24 kavitha 

>
> 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
>  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 
> >>
> >> 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,
> >> 

[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-24 Thread kavitha

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
 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 
>>
>> 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);
>>

[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-23 Thread Jark Reijerink
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 

>
> 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
> 
>
>  xmlns:android="http://schemas.android.com/apk/res/android";
>
>  android:layout_height="fill_parent"
>  android:layo

[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-23 Thread kavitha

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


http://schemas.android.com/apk/res/android";

 android:layout_height="fill_parent"
 android:layout_width="fill_parent"

 android:background="#44"
 android:id="@+id/tableviewback"

 >

 

 

 





Can anybody help on this

Thanks
Kavitha

On Mon, Mar 23, 2009 at 5:28 PM, Jark Reijerink
 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 met

[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-23 Thread kavitha

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];
   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


http://schemas.android.com/apk/res/android";
 android:layout_height="fill_parent"
 android:layout_width="fill_parent"
 android:background="#44"
 android:id="@+id/tableviewback"
 >

 
 
 





Can anybody help on this

Thanks
Kavitha




On Mon, Mar 23, 2009 at 5:28 PM, Jark Reijerink
 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 NullPointe

[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-23 Thread kavitha

Hi Jark,

Here is my code

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[33];
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);




On Mon, Mar 23, 2009 at 5:28 PM, Jark Reijerink
 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 
>>
>> 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
>> > android:layout_width="fill_parent" >
>>     > android:layout_width="fill_parent" >
>>           > android:layout_width="wrap_content"
>> android:id="@+id/frame14">
>>   
>> 
>>
>> 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
-~--~~~~--~~--~--~---



[android-beginners] Re: Please help in getting screen coordinates of a view

2009-03-23 Thread Jark Reijerink
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 

>
> 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
>  android:layout_width="fill_parent" >
>  android:layout_width="fill_parent" >
>android:layout_width="wrap_content"
> android:id="@+id/frame14">
>   
> 
>
> 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
-~--~~~~--~~--~--~---