2017-12-05 9 views
0

Commonクラスのスタティックarraylistからデータを取り込むlistviewがあります。リストアダプターは、デバッグ時にnullを表示します。ArrayAdapterを使用していますが、同じissue.pleaseは、私は、アダプタを呼び出しています私のコードリストアダプターはデバッグ時にヌルを表示します

displayListAdapter = new DisplayListAdapter(this); 
    listView_contacts.setAdapter(displayListAdapter); 

私のアダプタクラス

public class DisplayListAdapter extends ArrayAdapter<String> { 
private LayoutInflater mInflater; 
private Context context; 
FragmentTransaction ft; 
int clickedPosition; 
String displayContacts,displayContactNumber; 
private WebServiceCoordinator mWebServiceCoordinator; 
TextView name_contactList; 
Button call_contact; 

public DisplayListAdapter(Context context) { 
    super(context, R.layout.contacts_list1_row); 
    this.mInflater = LayoutInflater.from(context); 
    this.context = context; 

} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rowView = inflater.inflate(R.layout.contacts_list1_row, parent, false); 

    name_contactList = (TextView) rowView.findViewById(R.id.contactlist_name); 
    call_contact = (Button) rowView.findViewById(R.id.contactlist_call); 
    try { 
     //if(Common.FLAG_contactsLoaded) 
     //{ 
     displayContacts = Common.selectedContactName.get(position); 
     displayContactNumber = Common.selectedContactNos.get(position); 
     //} 
      /*else { 
       displayContacts = ((DisplayContacts) context).selectedContactName.get(position); 
       displayContactNumber = ((DisplayContacts) context).selectedContactNos.get(position); 
      }*/ 
     //String displayContacts = Common.selectedContactName.get(position); 
     //String displayContactNumber = Common.selectedContactNos.get(position); 
     Toast.makeText(context, "name to display" + displayContacts, Toast.LENGTH_SHORT).show(); 
     Toast.makeText(context, "no.to display" + displayContactNumber, Toast.LENGTH_SHORT).show(); 
     //name_contactList.setText(((DisplayContacts) context).selectedContactName.get(position)); 
     name_contactList.setText(displayContacts); 
     //name_contactList.setText("dummy text"); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
     Log.i("populating error",e.getLocalizedMessage()); 
    } 
    return rowView; 
} 

} 

答えて

0

はあなたのアダプタにデータを追加しました私を助けて?私はそれに関連するコードは見ませんでした。
あなたは書く必要がありますように:

displayListAdapter = new DisplayListAdapter(this); 
displayListAdapter.add("1"); 
displayListAdapter.add("2"); 

または共通クラスを使用して:)

+0

データが追加取得されるに役立つかもしれ代わり

super(context, R.layout.contacts_list1_row); 

希望の

super(context, R.layout.contacts_list1_row, "your data list") 

コンストラクタを使用してSplashActivity.uでは、アダプタCommon.selectedContactNos.get(positiに); – user8601021

+0

@ user8601021それだけでは不十分ですが、データとアダプタの間の接続を作成して、適切なコンストラクタを「追加」または使用する必要があります。そうしないと、getView関数は呼び出されません。データの数は最初です。 – ytinrete

+0

コンストラクタ内にダミーのarraylistを追加しました。私はコンストラクタ内に2つのarraylistsを追加するのに役立ちます。連絡先の名前と対応するフェッチされた連絡先番号をarraylist.soから取得しました。 – user8601021

関連する問題