@EFragment(R.layout.cites_list_layout)
public class CitiesListFragment extends ListFragment {
@ViewById(R.id.citiesListView)
ListView citiesListView;
@Bean
CitiesNamesAdapter adapter;
@AfterViews
void bindAdapter() {
citiesListView.setAdapter(adapter);
}
Klasa adaptera -
```java
package com.example.lukasz.test;
import android.content.Context;
import android.support.annotation.ColorRes;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import org.androidannotations.annotations.AfterInject;
import org.androidannotations.annotations.Bean;
import org.androidannotations.annotations.EBean;
import org.androidannotations.annotations.RootContext;
import java.util.ArrayList;
import java.util.List;
/**
* Created by lukasz on 23.09.15.
*/
@EBean
public class CitiesNamesAdapter extends BaseAdapter {
ArrayList<String> citiesNames;
GetCityName findCity = new GetCityName();
public CitiesNamesAdapter() {
}
@RootContext
Context context;
@ColorRes
int mint;
@AfterInject
void initAdapter() {
citiesNames = findCity.getAll();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CityItemView cityItemView;
if (convertView == null) {
cityItemView = new CityItemView(context);
} else {
cityItemView = (CityItemView) convertView;
}
if (position % 2 == 0) {
parent.setBackgroundColor(mint);
}
cityItemView.bind(getItem(position));
return cityItemView;
}
@Override
public int getCount() {
return citiesNames.size();
}
@Override
public String getItem(int position) {
return citiesNames.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
}
I plik z layout-em
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/citiesListView"
android:layout_gravity="center_horizontal" />
</LinearLayout>
@ItemClick
void cityNameItemClicked(String cityName) {
Toast.makeText(getActivity(), cityName, Toast.LENGTH_SHORT).show();
}
}
O to moj plik z fragmentem, w ktorym ma znajdowac sie ListView, wyskakuje mi set citiesListView jest null, w momencie kiedy chce wywolac metode setAdapter(adapter), nie mam pojecia czemu tak jest. Pomozcie!!!
Z gory dzieki