2013-02-13 4 views
2

Я пишу приложение, в котором я забирающий Список Facebook друзей с их фотографии, имя и добКак показать пользовательское сообщение вместо Null Дата рождения

, но некоторые из моих друзей не дали их День рождения, поэтому вместо Дня рождения я получаю null по умолчанию, но теперь вместо null Я хочу показать: День рождения не указан.

смотрите ниже скриншоте моего существующего приложения:

Как: Викас Рана дал DOB на Facebook и Аджай ноября не дал DOB на Facebook

 > VikY 
     January 1 

     > AJamber 
     Null 

Здесь вместо Null I хочу показать: День рождения не упоминается

FriendsList.java:

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


     JSONObject jsonObject = null; 
     try { 
      jsonObject = jsonArray.getJSONObject(position); 
     } catch (JSONException e) { 

     } 

     FriendItem friendItem; 

     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.listfb_friends, null); 
      friendItem = new FriendItem(); 

      convertView.setTag(friendItem); 
     } else { 
      friendItem = (FriendItem) convertView.getTag(); 
     } 

     friendItem.friendPicture = (ImageView) convertView 
       .findViewById(R.id.picture); 
     friendItem.friendName = (TextView) convertView 
       .findViewById(R.id.name); 
     friendItem.friendDob = (TextView) convertView 
       .findViewById(R.id.dob); 
     friendItem.friendLayout = (RelativeLayout) convertView 
       .findViewById(R.id.friend_item); 

     try { 
      String uid = jsonObject.getString("uid"); 
      String url = jsonObject.getString("pic_square"); 
      friendItem.friendPicture.setImageBitmap(picturesGatherer 
        .getPicture(uid, url)); 
     } catch (JSONException e) { 

      friendItem.friendName.setText(""); 
      friendItem.friendDob.setText(""); 
     } 

     try { 
      friendItem.friendName.setText(jsonObject.getString("name")); 
      if(!friendItem.friendDob.equals("")) 
      { 
      friendItem.friendDob.setText(jsonObject.getString("birthday")); 
      } 
      else 
      { 
      friendItem.friendDob.setText("Birthday Not Mentioned"); 
      } 
     } catch (JSONException e) { 

      friendItem.friendName.setText(""); 
      friendItem.friendDob.setText(""); 
     } 

     listofshit.put(position, friendItem); 
     return convertView; 
    } 

и если я пишу код что-то вроде этого:

try { 
      friendItem.friendName.setText(jsonObject.getString("name")); 
      friendItem.friendDob.setText(jsonObject.getString("birthday")); 
     } catch (JSONException e) { 

      friendItem.friendName.setText(""); 
      friendItem.friendDob.setText(""); 
     } 
     finally 
     { 
      friendItem.friendDob.setText("Birthday Not Mentioned"); 
     } 

так я получаю День рождения не Упоминается для всех друзей день рождения facebook, даже для них и те, которые упомянули.

ответ

2

попробовать это.

try{ 
    if(jsonObject.getString("birthday")!= null && !jsonObject.getString("birthday").equals("")){ 
      friendItem.friendDob.setText(jsonObject.getString("birthday")); 
    }else{ 
     friendItem.friendDob.setText("Birthday Not Mentioned"); 
    } 
}catch(JSONException e){ 
    e.printStackTrace(); 
} 
1

Где вы получаете NullPointerExceptiontry-catch над ним.

Возможно, вы сделали это, я думаю. Теперь просто установите текст «День рождения не упомянут» над текстом/edittext (что бы вы ни использовали, чтобы показать d.o.b), написав код в catch block.


Просто используйте: -

try { 
     friendItem.friendName.setText(jsonObject.getString("name")); 
     friendItem.friendDob.setText(jsonObject.getString("birthday")); 
    } 
catch (Exception e) {  
     friendItem.friendName.setText("Name"); // try it for now. 
     friendItem.friendDob.setText("Birthday Not Mentioned"); // Have to be here. 
    } 
1

Просто попробуйте с этим кодом:

  try 
     { 
      friendItem.friendName.setText(jsonObject.getString("name")); 
      friendItem.friendDob.setText(jsonObject.getString("birthday")); 

      if(!(jsonObject.getString("birthday").equalsIgnoreCase("null"))) 
      { 
      friendItem.friendDob.setText(jsonObject.getString("birthday")); 
      } 
      else 
      { 
      friendItem.friendDob.setText("Birthday Not Mentioned"); 
      } 

     } catch (JSONException e) 
     { 
      friendItem.friendName.setText(""); 
      friendItem.friendDob.setText(""); 
     } 
     listofshit.put(position, friendItem); 
     return convertView; 
    }