Hello,
I need to fatch two things 1. News_Title 2. News_Contain here is my code :
News.java
public class News {
String nTitle,nCont;
public String getnTitle() {return nTitle;}
public String getnCont() {return nCont;}
public News(String nTitle, String nCont) {
this.nTitle = nTitle;
this.nCont = nCont;
}
}News_Fragment.java
public class News_Fragment extends Fragment implements SwipeRefreshLayout.OnRefreshListener {
ListView lvNews;
View rootView;
ArrayList<News> listNews;
public static news_list_adapter newsAdapter;
public static News item = null;
TextView empty;
SwipeRefreshLayout swiperefresh;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
rootView = inflater.inflate(R.layout.fragment_listview, container, false);
lvNews = (ListView) rootView.findViewById(R.id.lvOnOfflineNews);
listNews = new ArrayList<News>();
newsAdapter = new news_list_adapter(getContext(), listNews);
lvNews.setAdapter(newsAdapter);
swiperefresh = (SwipeRefreshLayout) rootView.findViewById((R.id.swiperefresh));
swiperefresh.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent, R.color.colorPrimaryDark);
swiperefresh.setOnRefreshListener(this);
BackendlessDataQuery dataQuery = new BackendlessDataQuery("News");
QueryOptions queryOptions = new QueryOptions();
queryOptions.addSortByOption( "created ASC" );
dataQuery.setQueryOptions( queryOptions );
BackendlessCollection<News> news_lists = Backendless.Data.of( News.class ).find( dataQuery );
// get first page
List<News> firstPage = news_lists.getCurrentPage();
// iterate over the received objects
Iterator<News> iterator = firstPage.iterator();
while( iterator.hasNext() )
{
News news_i = iterator.next();
item = new News(
news_i.getnTitle(),
news_i.getnCont()
);
listNews.add(item);
}
newsAdapter.notifyDataSetChanged();
lvNews.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
item = (News) parent.getItemAtPosition(position);
Intent intent = new Intent(getActivity(), News_detail_view.class);
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
});
return rootView;
}
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
}
@Override
public void onRefresh() {
swiperefresh.setRefreshing(false);
}
}News_List_Adapter.java
public class news_list_adapter extends BaseAdapter {
private LayoutInflater li;
private ArrayList<News> items;
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = li.inflate(R.layout.news_list_row, null);
holder.nTitle = (TextView) convertView.findViewById(R.id.nTitle);
holder.nCont = (TextView) convertView.findViewById(R.id.nContSort);
convertView.setTag(holder);
} else holder = (ViewHolder) convertView.getTag();
holder.nTitle.setText(items.get(position).getnTitle());
holder.nCont.setText(items.get(position).getnCont());
return convertView;
}
public news_list_adapter(Context context, ArrayList<News> items) {
li = LayoutInflater.from(context);
this.items = items;
}
public class ViewHolder {
TextView nTitle,nCont;
}
}I need some correction in News_Fragment.java. Currently it throws null exception. final result should be as shown in screenshot.I also need push notification when new news is uploaded. (I have to make another application for admin ,for posting news.)I am coming from Parse , so i have no idea about backendless.