我正在做一個聊天應用程序,通過使用「xmpp服務器」.in我的應用程序。我使用列表視圖中列出的所有聯繫人顯示。,我試圖處理線程中的名冊值,而不使用線程和處理它的工作完美..但當Android listview空指針execption?
我在線程中使用我的listdata,它給了我「空指針異常」,我做了什麼..我很困惑..,請求ehelp我..,這裏是我的代碼提前
public class Contact_ListActivity extends Activity {
TextView tv_header;
TextView tv_account;
TextView tv_contact;
TextView tv_number;
EditText idnumber;
Button add;
public ListView list_view;
XMPPObjectPass commanInstant;
public ArrayList<ProfileInfo> list = new ArrayList<ProfileInfo>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.contact_list);
commanInstant = (XMPPObjectPass)getApplicationContext();
tv_account=(TextView)findViewById(R.id.tv_account);
tv_contact=(TextView)findViewById(R.id.tv_contact);
tv_number=(TextView)findViewById(R.id.tv_number);
tv_header=(TextView)findViewById(R.id.tv_header);
idnumber=(EditText)findViewById(R.id.idnumber);
add=(Button)findViewById(R.id.add);
list_view=(ListView)findViewById(R.id.listview);
list_view.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
// Object o = list_view.getItemAtPosition(position);
// list_activity_bean obj_itemDetails = (list_activity_bean)o;
// Toast.makeText(Contact_ListActivity.this, "You have chosen : " + " " + obj_itemDetails.getName(), Toast.LENGTH_LONG).show();
}
});
tv_account.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i=new Intent(Contact_ListActivity.this,Account_Question_Activity.class);
startActivity(i);
}
});
}
@Override
protected void onResume()
{
// TODO Auto-generated method stub
super.onResume();
list.clear();
friendslist();
list_view.setAdapter(new ListActivityAdapter(this, list));
}
public void friendslist()
{
Thread coThread = new Thread();
{
new Runnable() {
public void run() {
try
{
Roster roster = commanInstant.connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
tv_number.setText(""+entries.size());
for(RosterEntry r:entries)
{
VCard card = new VCard();
try {
card.load(commanInstant.connection,r.getUser());
System.out.println("<-- first anme " + card.getFirstName());
//card.get
// System.out.println("<-- getEmailHome anme " + card.getEmailHome());
// System.out.println("<-- getEmailWork anme " + card.getEmailWork());
// System.out.println("<-- getFrom anme " + card.getFrom());
// System.out.println("<-- getJabberId anme " + card.getJabberId());
// System.out.println("<-- getLastName anme " + card.getLastName());
// System.out.println("<-- getMiddleName anme " + card.getMiddleName());
// System.out.println("<-- getNickName anme " + card.getNickName());
// System.out.println("<-- getOrganization anme " + card.getOrganization());
}
catch (Exception e)
{
e.printStackTrace();
}
byte[] imgs = card.getAvatar();
if (imgs != null) {
int len = imgs.length;
Bitmap img = BitmapFactory.decodeByteArray(imgs, 0, len);
list.add(new ProfileInfo(card.getFirstName(),img,"+1PTS"));
System.out.println(r);
}
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println(""+e);
}
}
};
coThread.start();
}
}
}
謝謝.. :)
顯示您的logcat – henry4343
顯示該行的NullPointerException當我調試它發生 –
等待i顯示了.... – User11