App Crashed After Adding Navigation Menu In Android Studio
Please take a look at my source code, my app crashed after I added the navigation Menu. Can you please tell what is wrong I have been searching all on Google and could not arrive a
Solution 1:
I was able to fix that issue by creating a separate class for the navigation drawer. However, I am facing another issue with the RssFeeds.
public class ReadRss extends AsyncTask and recyclerView.setLayoutManager(new LinearLayoutManager(context) is where the error is pointing to when the app crashed when running the debug.
Here is the ReadRss.java:
package tk.mattercast.myapplication;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
publicclassReadRssextendsAsyncTask<Void, Void, Void> {
Context context;
Stringaddress="http://www.oecd.org/corruption/index.xml";
ProgressDialog progressDialog;
ArrayList<FeedItem>feedItems;
RecyclerView recyclerView;
URL url;
publicReadRss(Context context,RecyclerView recyclerView) {
this.recyclerView=recyclerView;
this.context = context;
progressDialog = newProgressDialog(context);
progressDialog.setMessage("Fetching Data...");
}
@OverrideprotectedvoidonPreExecute() {
progressDialog.show();
super.onPreExecute();
}
@OverrideprotectedvoidonPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressDialog.dismiss();
MyAdapter adapter=newMyAdapter(context,feedItems);
recyclerView.setLayoutManager(newLinearLayoutManager(context) {
@Overridepublic RecyclerView.LayoutParams generateDefaultLayoutParams() {
returnnull;
}
});
recyclerView.addItemDecoration(newVerticalSpace(50));
recyclerView.setAdapter(adapter);
}
@Overrideprotected Void doInBackground(Void... params) {
ProcessXml(Getdata());
returnnull;
}
privatevoidProcessXml(Document data) {
if (data != null) {
feedItems=newArrayList<>();
Elementroot= data.getDocumentElement();
Nodechannel= root.getChildNodes().item(1);
NodeListitems= channel.getChildNodes();
for (inti=0; i < items.getLength(); i++) {
Nodecureentchild= items.item(i);
if (cureentchild.getNodeName().equalsIgnoreCase("item")) {
FeedItem item=newFeedItem();
NodeListitemchilds= cureentchild.getChildNodes();
for (intj=0; j < itemchilds.getLength(); j++) {
Nodecureent= itemchilds.item(j);
if (cureent.getNodeName().equalsIgnoreCase("title")){
item.setTitle(cureent.getTextContent());
}elseif (cureent.getNodeName().equalsIgnoreCase("description")){
item.setDescription(cureent.getTextContent());
}elseif (cureent.getNodeName().equalsIgnoreCase("pubDate")){
item.setPubDate(cureent.getTextContent());
}elseif (cureent.getNodeName().equalsIgnoreCase("link")){
item.setLink(cureent.getTextContent());
}
}
feedItems.add(item);
}
}
}
}
public Document Getdata() {
try {
url = newURL(address);
HttpURLConnectionconnection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStreaminputStream= connection.getInputStream();
DocumentBuilderFactorybuilderFactory= DocumentBuilderFactory.newInstance();
DocumentBuilderbuilder= builderFactory.newDocumentBuilder();
DocumentxmlDoc= builder.parse(inputStream);
return xmlDoc;
} catch (Exception e) {
e.printStackTrace();
returnnull;
}
}
}
Post a Comment for "App Crashed After Adding Navigation Menu In Android Studio"