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 <hktsan...@gmail.com> 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
> <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



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

Reply via email to