main 액티비티
public class MainActivity extends AppCompatActivity {
ListView listView;
FirebaseDatabase database;
DatabaseReference ref;
ArrayList<String> list;
ArrayAdapter<String> adapter,adapter2;
SpringAdapter adapter3;
Spring spring;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spring = new Spring();
listView = (ListView)findViewById(R.id.listview);
database = FirebaseDatabase.getInstance();
ref = database.getReference("Spring");
list = new ArrayList<>();
adapter3 = new SpringAdapter(this, R.layout.layout,list);
// adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter3);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()){
String lip = ds.child("Lip").getValue(String.class);
list.add(lip);
adapter.notifyDataSetChanged();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
ref.addListenerForSingleValueEvent(eventListener);
}
리스트 갖고오는 java
public class Spring {
private String Lip;
public Spring() {
}
public Spring(String lip) {
this.Lip = lip;
}
public String getLip() {
return Lip;
}
public void setLip(String lip) {
Lip = lip;
}
어뎁터
public class SpringAdapter extends BaseAdapter {
private LayoutInflater inflater;
private ArrayList<Spring> springs = null;
private int layout;
Context context;
public SpringAdapter(Context context, int layout, ArrayList<String> list) {
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.layout = layout;
this.springs = springs;
}
@Override
public int getCount() {
return springs.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = inflater.inflate(layout,parent,false);
}
Spring spring = springs.get(position);
ImageView imageView = (ImageView)convertView.findViewById(R.id.img);
Picasso.with(context).load(springs.get(position).getLip()).into(imageView);
return convertView;
}
어뎁터 getcount() 부분에서
Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
에러가 납니다.. 해결방안이 있을까요