0

Мой ListView не показывает данные. Я использую класс адаптера для установки данных на ListView, но его не отображается.Listview Не показывать данные из firebase

класс MyAdapter:

public class MyAdapter extends ArrayAdapter { 
private Context context; 
private LayoutInflater inflater; 

private List<HashMap<String, String>> aList=new ArrayList<HashMap<String,String>>(); 
int[] to; 
public MyAdapter(Context context, List<HashMap<String, String>> aList) { 
    super(context, R.layout.mainlistviewchild, aList); 

    this.context = context; 
    this.aList = aList; 
    inflater = LayoutInflater.from(context); 
} 



HashMap<String, String> m; 
String[] aa; 
String c; 
List<String> myString = new ArrayList<String>(); 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (null == convertView) { 
     convertView = inflater.inflate(R.layout.mainlistviewchild, parent); 
    } 

    TextView title1=(TextView)convertView.findViewById(R.id.maintitle); 
    TextView description1=(TextView)convertView.findViewById(R.id.maindesc); 
    TextView date=(TextView)convertView.findViewById(R.id.mainby); 
    ImageView image1=(ImageView)convertView.findViewById(R.id.mainimage); 
    TextView locstate=(TextView)convertView.findViewById(R.id.maindate); 

    title1.setText(aList.get(position).get("Name")); 
    description1.setText(aList.get(position).get("Email")); 
    locstate.setText(aList.get(position).get("State")); 
    date.setText(aList.get(position).get("Country")); 
    Glide.with(context).load(aList.get(position).get("Image")).into(image1); 

    return convertView; 
} 
} 

MainActivity:

public class MainActivity extends AppCompatActivity 
    implements NavigationView.OnNavigationItemSelectedListener { 

public MainActivity() { 
    // Required empty public constructor 
} 
DatabaseReference ref; 
DatabaseReference postRef; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
    ref = FirebaseDatabase.getInstance().getReference(); 
    String stuff=getIntent().getExtras().getString("stuff"); 
    ListView listView=(ListView)findViewById(R.id.listView); 
    final List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>(); 
    final MyAdapter adapter = new MyAdapter(getApplicationContext(),aList); 
    adapter.notifyDataSetChanged(); 
    listView.setAdapter(adapter); 
    postRef=ref.child("Users"); 
    ref.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      aList.clear(); 
      for (DataSnapshot child : dataSnapshot.getChildren()) { 

       for (DataSnapshot single : child.getChildren()) { 
        Map<String, Object> map = (Map<String, Object>) single.getValue(); 

        String name = (String) map.get("Name"); 
        String image = (String) map.get("Profileimage"); 
        String email = (String) map.get("Email"); 
        String address=(String) map.get("Address"); 
        String state=(String) map.get("State"); 
        String country=(String) map.get("Country"); 
        String city=(String) map.get("City"); 
        String knownplace=(String) map.get("Knownplace"); 
        String postalcode=(String) map.get("Postalcode"); 


        if (name!=null && image!=null && email!=null && address!=null && country!=null && state!=null && city!=null && knownplace!=null && postalcode!=null) { 
         String[] name1={name}; 
         String[] email1={email}; 
         String[] address1={address}; 
         String[] image1={image}; 
         String[] state1={state}; 
         String[] country1={country}; 
         String[] city1={city}; 
         String[] knownplace1={knownplace}; 
         String[] postalcode1={postalcode}; 
         HashMap<String,String> data=new HashMap<String, String>(); 
         for (int i=0; i<name1.length;i++) { 
          data.put("Name", name1[i]); 
          data.put("Email",email1[i]); 
          data.put("Address",address1[i]); 
          data.put("Image",image1[i]); 
          data.put("Country",country1[i]); 
          data.put("State",state1[i]); 
          data.put("City",city1[i]); 
          data.put("Knownolace",knownplace1[i]); 
          data.put("Postalcode",postalcode1[i]); 
         } 
         aList.add(data); 
         adapter.notifyDataSetChanged(); 
         //progressBar.setVisibility(View.INVISIBLE); 
        } 
       } 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 


    }); 

mainlistview.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 


<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/mainimage" 
    android:src="@drawable/profile" 
    android:layout_below="@+id/relativeLayout" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/relativeLayout"> 

</RelativeLayout> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Description" 
    android:textStyle="italic" 
    android:textSize="20sp" 
    android:id="@+id/maindesc" 
    android:layout_below="@+id/maintitle" 
    android:layout_toRightOf="@+id/mainimage" 
    android:layout_toEndOf="@+id/mainimage" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Title" 
    android:textStyle="bold" 
    android:textSize="20sp" 
    android:layout_below="@+id/relativeLayout" 
    android:layout_toRightOf="@+id/mainimage" 
    android:layout_toEndOf="@+id/mainimage" 
    android:id="@+id/maintitle" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Location" 
    android:id="@+id/mainlocation" 
    android:layout_below="@+id/maindesc" 
    android:layout_toRightOf="@+id/mainimage" 
    android:layout_toEndOf="@+id/mainimage" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="Date" 
    android:id="@+id/maindate" 
    android:layout_above="@+id/mainby" 
    android:layout_toRightOf="@+id/mainimage" 
    android:layout_toEndOf="@+id/mainimage" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceSmall" 
    android:text="By" 
    android:id="@+id/mainby" 
    android:layout_alignBottom="@+id/mainimage" 
    android:layout_toRightOf="@+id/mainimage" 
    android:layout_toEndOf="@+id/mainimage" /> 
</RelativeLayout> 

Он не показывает никаких данных в ListView Может ли кто-нибудь сказать вопрос в этом, пожалуйста?

ответ

0

Эй, @Shiv uday Прежде всего вам нужно положить aList.add (данные); in for

+0

Нет его не показывать, даже если я добавить aList.add (данные); in for loop –

0

Вы должны переопределить getCount в своем адаптере. не

Это должно быть

@Override 
public int getCount() { 
    return aList.size(); 
} 

и convertView должны быть:

convertView = inflater.inflate(R.layout.mainlistviewchild, parent, false); 
+0

Я добавил его, но все еще ничего не показываю. –

+0

Я не знаю, как структурированы ваши данные, уверены ли вы, что доступ к данным (data) aList.add? – quanlt

+0

Что вы подразумеваете под достижимым приятелем? –

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

  • Нет связанных вопросов^_^