2015-02-07 2 views
-1

Привет в приведенном ниже коде, как получить imservice.getusername(). Но, он дает ниже error.I хочу, чтобы имя пользователя для этого я пишу этот код.imservice.getusername() this один такой же, как я, я обращаюсь к имени пользователя, которое он работает. Но в этом классе он не работает.Как получить имя пользователя в android

Может ли кто-нибудь помочь мне, где я ошибся.

** ** список друзей

public class FriendList extends ListActivity 
{ 
    private static final int ADD_NEW_FRIEND_ID = Menu.FIRST; 
    private static final int CREATE_GROUP_ID = Menu.FIRST+1; 
    private static final int EXIT_APP_ID = Menu.FIRST + 2; 
    private IAppManager imService = null; 
    private FriendListAdapter friendAdapter; 

    public String ownusername = new String(); 

    private class FriendListAdapter extends BaseAdapter 
    {  
     class ViewHolder { 
      TextView text,text1; 

      ImageView icon; 
     } 
     private LayoutInflater mInflater; 
     private Bitmap mOnlineIcon; 
     private Bitmap mOfflineIcon;   

     private FriendInfo[] friends = null; 


     public FriendListAdapter(Context context) { 
      super();    

      mInflater = LayoutInflater.from(context); 

      mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar); 
      mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar); 

     } 

     public void setFriendList(FriendInfo[] friends) 
     { 
      this.friends = friends; 
      } 


     public int getCount() {  

      return friends.length; 
     } 


     public FriendInfo getItem(int position) {   

      return friends[position]; 
     } 

     public long getItemId(int position) { 

      return 0; 
     } 

     public View getView(int position, View convertView, ViewGroup parent) { 

      ViewHolder holder; 


      if (convertView == null) 
      { 
       convertView = mInflater.inflate(R.layout.friend_list_screen, null); 


       holder = new ViewHolder(); 
       holder.text1=(TextView)convertView.findViewById(R.id.text1); 
       holder.text = (TextView) convertView.findViewById(R.id.text); 

       holder.icon = (ImageView) convertView.findViewById(R.id.icon);          

       convertView.setTag(holder); 
      } 
      else { 

       holder = (ViewHolder) convertView.getTag(); 
      } 


      holder.text.setText(friends[position].userName); 
      holder.text1.setText(friends[position].groupName); 
      holder.icon.setImageBitmap(friends[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon); 

      return convertView; 
     } 

    } 
protected void onCreate(Bundle savedInstanceState) 
    {  
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.list_screen); 

     friendAdapter = new FriendListAdapter(this); 
     try { 
     String result1 = imService.DispalyGroupDetails(imService.getUsername()); 
      System.out.println(result1); 
     } catch (UnsupportedEncodingException e) { 

      e.printStackTrace(); 
     } 



    } 

LogCat

02-07 05:17:54.526: E/AndroidRuntime(3081): FATAL EXCEPTION: main 
02-07 05:17:54.526: E/AndroidRuntime(3081): Process: at.vcity.androidim, PID: 3081 
02-07 05:17:54.526: E/AndroidRuntime(3081): java.lang.RuntimeException: Unable to start activity ComponentInfo{at.vcity.androidim/at.vcity.androidim.FriendList}: java.lang.NullPointerException 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread.access$800(ActivityThread.java:135) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.os.Handler.dispatchMessage(Handler.java:102) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.os.Looper.loop(Looper.java:136) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at java.lang.reflect.Method.invoke(Method.java:515) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at dalvik.system.NativeStart.main(Native Method) 
02-07 05:17:54.526: E/AndroidRuntime(3081): Caused by: java.lang.NullPointerException 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at at.vcity.androidim.FriendList.onCreate(FriendList.java:178) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.Activity.performCreate(Activity.java:5231) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
02-07 05:17:54.526: E/AndroidRuntime(3081):  ... 11 more 

** ** списке групп

public class GroupList extends ListActivity 
{ 

    boolean[] checkBoxState; 
    boolean isChecked; 
    String check; 
    ListView users; 
    int position; 
    private IAppManager imService = null; 
    ArrayList<FriendInfo> result = new ArrayList<FriendInfo>(); 
    private FriendListAdapter friendAdapter; 

    public String ownusername = new String(); 

    private class FriendListAdapter extends BaseAdapter 
    { 
     @SuppressWarnings("unused") 

     class ViewHolder { 
      TextView text; 
      ImageView icon; 
      CheckBox check1; 



     } 

     private LayoutInflater mInflater; 
     private Bitmap mOnlineIcon; 
     private Bitmap mOfflineIcon;   

     private FriendInfo[] friend = null; 





     public FriendListAdapter(Context context) { 
      super();    

      mInflater = LayoutInflater.from(context); 

      mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar); 
      mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar); 

     } 

     public void setFriendList(FriendInfo[] friends) 
     { 
      this.friend = friends; 

     } 


     public int getCount() {  

      return friend.length; 
     } 


     public FriendInfo getItem(int position) {   

      return friend[position]; 
     } 

     public long getItemId(int position) { 

      return 0; 
     } 

     @SuppressWarnings("unused") 
     public View getView(final int position, View convertView, ViewGroup parent) { 

      final ViewHolder holder; 


      if (convertView == null) 
      { 
       convertView = mInflater.inflate(R.layout.grouplist, null); 


       holder = new ViewHolder(); 

       holder.text = (TextView) convertView.findViewById(R.id.text); 
       holder.icon = (ImageView) convertView.findViewById(R.id.icon); 
       holder.check1 = (CheckBox)convertView.findViewById(R.id.checkBox1); 

       convertView.setTag(holder); 

      }   

      else { 

       holder = (ViewHolder) convertView.getTag(); 

      } 


      holder.text.setText(friend[position].userName); 
      holder.icon.setImageBitmap(friend[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon); 

      final ArrayList<String> checkedFriends = new ArrayList<String>(); 
      checkBoxState = new boolean[friend.length]; 
      holder.check1.setChecked(checkBoxState[position]); 
      holder.check1.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 

       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
        checkBoxState[position]=isChecked; 

        if(isChecked){ 

         check=friend[position].userName; 

        } 

       } 
      }); 


      return convertView; 
     } 
protected void onCreate(Bundle savedInstanceState){  
     super.onCreate(savedInstanceState); 

     if (android.os.Build.VERSION.SDK_INT > 9) { 
      StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() 
      .permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 
     } 
     setContentView(R.layout.group_list_screen); 

     Button create=(Button)findViewById(R.id.create); 


     friendAdapter = new FriendListAdapter(this); 


     friendAdapter.getCheckedItems(); 
     create.setOnClickListener(new OnClickListener() { 

      @SuppressWarnings({ "unused", "unchecked" }) 
      @Override 
      public void onClick(View v) { 
       String groupname = getIntent().getStringExtra("nick"); 

          try { 



           String result1 = imService.CreateGroup(groupname,imService.getUsername(),friendAdapter.getCheckedItems()); 
          } catch (UnsupportedEncodingException e) { 

           e.printStackTrace(); 
          } 



       Toast.makeText(getApplicationContext(), "Group Created Sucessfully",Toast.LENGTH_LONG).show(); 

      } 
     });  

    } 
+0

Что такое объявление 'imService.getUsername()' – MDMalik

+0

, используя это? Я получаю имя пользователя – user1

+0

, где работает 'imservice.getusername()', работающая ранее? –

ответ

0

Он не похож на инстанцировании imService, так что вы «Исправлена ​​ошибка с отображением нулевого указателя каждый раз, когда вы вызываете get ter метод на imService.

+0

это один я сделал .. – user1

+0

Где я ошибся – user1

Смежные вопросы