Daniel,

Thank you for your kindly recommandation.

Anyway, I've find what's the problem there and solved. Thank you very much.

HK

On Thu, May 24, 2012 at 5:29 PM, Daniel Drozdzewski <
[email protected]> wrote:

> HK,
>
> I am sorry you feel this way - and don't worry, you have not disturbed me.
>
> I think that you would be much better off, learning Java first,
> outside of Android or any other platform.
>
> Simply start some tutorial, going through nuances of Java. Problems
> you are having are very easy to fix, once you know some basics.
>
> The further you go down the Android + Java route as a complete newbie,
> the more frustrated you will become trying to understand cryptic
> errors (some resulting from misuse of Java, some from the platform).
>
> Daniel
>
>
>
>
>
>
>
> On 24 May 2012 07:59, HK Tsang <[email protected]> wrote:
> > 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
> > <[email protected]> wrote:
> >>
> >> oh dear,
> >>
> >> i suggest learning java first.
> >>
> >> D.
> >>
> >>
> >> On Thursday, 24 May 2012, HK Tsang <[email protected]> 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
> >> > <[email protected]> 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 <[email protected]> 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
> >> >> > [email protected]
> >> >> > To unsubscribe from this group, send email to
> >> >> > [email protected]
> >> >> > 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
> >> >> [email protected]
> >> >> To unsubscribe from this group, send email to
> >> >> [email protected]
> >> >> 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
> [email protected]
> >> > To unsubscribe from this group, send email to
> >> > [email protected]
> >> > 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
> [email protected]
> >> To unsubscribe from this group, send email to
> >> [email protected]
> >> 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 [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to