Yes you are right. Acturally I'm learning both together right now. I just
can learn it by my-self and find some exsample to study on web. No one can
teach me arround me. Therefore I just can ask something that I don't
understand in here. I know that my knowledge is too a little. But I hope
someone can solve me the problems that I can't understand.

If you feel my question is too stupid. I'm sorry for disturbing you.

On Thu, May 24, 2012 at 2:07 PM, Daniel Drozdzewski <
daniel.drozdzew...@gmail.com> wrote:

> oh dear,
>
> i suggest learning java first.
>
> D.
>
>
> On Thursday, 24 May 2012, HK Tsang <hktsan...@gmail.com> wrote:
> > I've passed the code when I add player = new MyPlayer() in onCreate. but
> next step, I change it to array:
> >
> > MyPlayer[] players;
> >
> > .
> > .
> > .
> > .
> > onCreate....
> > players = new MyPlayer[4];
> >
> >
> > then it also NPE. why it pass when I use single player but use array do
> not pass?
> >
> > == full code in main activity====
> > package hktsang56.android.mjhelper;
> > import android.app.Activity;
> > import android.os.Bundle;
> > import android.view.View;
> > import android.widget.Button;
> > import android.widget.EditText;
> > import android.widget.TextView;
> > public class name_input extends Activity {
> >  final static int NUM_PLAYER = 4;
> >  private MyPlayer[] players;
> >  MyPlayer player;
> >  MarkSetting markSetting;
> >  private EditText[] namesET;
> >  Button bt[];
> >  private TextView tv;
> >  int[] names = new int[]{
> >    R.id.et_p1,
> >    R.id.et_p2,
> >    R.id.et_p3,
> >    R.id.et_p4
> >   };
> >  int[] btIds = new int[]{
> >    R.id.but_sendName,
> >    R.id.but_clearName
> >  };
> >
> >  @Override
> >  protected void onCreate(Bundle savedInstanceState) {
> >   // TODO Auto-generated method stub
> >   super.onCreate(savedInstanceState);
> >   setContentView(R.layout.player_input);
> >         players = new MyPlayer[NUM_PLAYER];
> >         namesET = new EditText[NUM_PLAYER];
> >         bt = new Button[btIds.length];
> >         player = new MyPlayer();
> >         tv = (TextView) findViewById(R.id.tv_monitor);
> >         tv.setText("onCreate");
> >         initButIds();
> >  }
> >     private void initButIds(){
> >      for (int i=0; i<btIds.length; i++){
> >       bt[i] = (Button) findViewById(btIds[i]);
> >       bt[i].setOnClickListener(myClickListener);
> >             tv.setText("initButIds");
> >
> >      }
> >     }
> >     private View.OnClickListener myClickListener = new
> View.OnClickListener() {
> >
> >   @Override
> >   public void onClick(View v) {
> >    // TODO Auto-generated method stub
> >          tv.setText("onClick");
> >       but_click(v.getId());
> >    }
> >  };
> >  public void but_click(int btId){
> >      switch (btId){
> >      case R.id.but_sendName:
> >             tv.setText("but_click");
> >       setName();
> >       break;
> >      case R.id.but_clearName:
> >       clearName();
> >       break;
> >      }
> >     }
> >  private void setName() {
> >   // TODO Auto-generated method stub
> >   String name="Null";
> >   for (int i=0; i<NUM_PLAYER; i++){
> >    namesET[i] = (EditText) findViewById(names[i]);
> >   }
> >   for (int i=0; i<NUM_PLAYER; i++){
> >    name = namesET[i].getText().toString().trim();
> >    players[i].setPlayerName(name);  // remark:
> player.setPlayerName(name);  <------------ can be run.
> >   }
> >   tv.setText(players[2].getPlayerName());
> >
> >  }
> >  private void clearName() {
> >   // TODO Auto-generated method stub
> >   for (int i=0; i<NUM_PLAYER; i++){
> >    namesET[i].setText("");
> >   }
> >
> >  }
> > }
> >
> >
> > On Wed, May 23, 2012 at 6:29 PM, Daniel Drozdzewski <
> daniel.drozdzew...@gmail.com> wrote:
> >>
> >> Jason
> >>
> >> name == null
> >>
> >> would not cause NPE, as it is simple assignment to a member variable
> >> in MyPlayer class. If there was anything else within setName() that
> >> caused NPE, we could see it on the top of the stacktrace.
> >>
> >> The cause is that *player* reference in *player_input.setName()* is
> null.
> >>
> >> The way player object is being constructed is wrong: (player = new
> >> Player;)  This code should not compile, so it begs the question, how
> >> did the OP manage to run it.
> >>
> >> There are many other issues with this code from the first look, like
> >> naming conventions, and auto generated comments dotting it, just to
> >> name the few.
> >>
> >>
> >>
> >> Daniel
> >>
> >>
> >>
> >>
> >> On 23 May 2012 10:56, Jason Teagle <teagle.ja...@gmail.com> wrote:
> >> >> I've create an object class but it cannot work. any mistake of my
> code?
> >> >
> >> >
> >> >> private void setName() {
> >> >> // TODO Auto-generated method stub
> >> >> getNameText();
> >> >> for (int i=0; i<NUM_PLAYER; i++){
> >> >> player.setPlayerName(name); // name is a String get from EditText by
> some
> >> >> code before
> >> >> }
> >> >> }
> >> >
> >> >
> >> >> when I run the programme, it have the following error code:
> >> >
> >> >
> >> >> 05-23 09:24:35.115: E/AndroidRuntime(438):
> java.lang.NullPointerException
> >> >> 05-23 09:24:35.115: E/AndroidRuntime(438):  at
> hktsang56.android.mjhelper
> >> >> .name_input.setName(name_input.java:81)
> >> >
> >> >
> >> > Which of the lines in your source code is line 81? Is it the line
> that says
> >> > getNameText()? We need to see that method's definition, if that is
> the case,
> >> > since I can't see any other problem (if 'name' were coming out null,
> then
> >> > the error would be in setPlayerName() rather than in setName() - in
> fact it
> >> > probably wouldn't generate an error in such a case).
> >> >
> >> > Show us the code for getNameText(). You are possibly trying to access
> a
> >> > control that you have not filled out correctly.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups "Android Developers" group.
> >> > To post to this group, send email to
> android-developers@googlegroups.com
> >> > To unsubscribe from this group, send email to
> >> > android-developers+unsubscr...@googlegroups.com
> >> > For more options, visit this group at
> >> > http://groups.google.com/group/android-developers?hl=en
> >>
> >>
> >>
> >> --
> >> Daniel Drozdzewski
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> >> Groups "Android Developers" group.
> >> To post to this group, send email to
> android-developers@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> android-developers+unsubscr...@googlegroups.com
> >> For more options, visit this group at
> >> http://groups.google.com/group/android-developers?hl=en
> >
> >
> > --
> > HK Tsang
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/android-developers?hl=en
>
> --
> Daniel Drozdzewski
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
HK Tsang

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

Reply via email to