如何显示吐司消息不扩展活动类
嗨,这是我的助手类,其中我检查内部连接和xml paersing和使用此类到另一个活动问题是当服务器连接工作正常,但当服务器没有响应或无效输入代码意外爆炸停止我找到asyntask来解决这个问题,但我的问题是我怎么能在这个代码中使用AsyncTask?或如何显示吐司消息,如果服务器没有响应错误消息连接错误aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa在日志中显示,但不显示在吐司上我该怎么做,所以我的应用程序不爆炸时服务器没有响应?任何想法?如何显示吐司消息不扩展活动类
public class AgAppHelperMethods {
private static final String LOG_TAG = null;
private static AgAppHelperMethods instance = null;
public static String varMobileNo;
public static String varPinNo;
String[][] xmlRespone = null;
public static String getUrl() {
String url = "https://demo.accessgroup.mobi/";
return url;
}
public static String[][] AgAppXMLParser(String parUrl) {
String _node, _element;
String[][] xmlRespone = null;
try {
String url = AgAppHelperMethods.getUrl() + parUrl;
URL finalUrl = new URL(url);
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(finalUrl.openStream()));
doc.getDocumentElement().normalize();
NodeList list = doc.getElementsByTagName("*");
_node = new String();
_element = new String();
xmlRespone = new String[list.getLength()][2];
for (int i = 0; i < list.getLength(); i++) {
Node value = list.item(i).getChildNodes().item(0);
_node = list.item(i).getNodeName();
_element = value.getNodeValue();
xmlRespone[i][0] = _node;
xmlRespone[i][1] = _element;
} //end for
} //end try
catch (Exception e) {
// Toast.makeText(context, "error server not responding " +
e.getMessage(), Toast.LENGTH_LONG).show();
Log.e(LOG_TAG, "Connection Error aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
e);
// Do something else, if wanted.
}
return xmlRespone;
}
你需要将你的applicationContext作为目标,我看不到你在做什么? 你已经评论了Toast消息的第一行吗?
编辑: 也真的很糟糕的codestyle来捕捉异常e。你应该尝试缩小你想要捕捉哪种异常。
我想捕捉异常服务器没有响应eror或无效的用户id pasword异常 – 2012-08-15 06:41:06
创建像一个全局变量:
Context mContext;
然后构造函数添加到您的类,在其中您接受Context参数,并将其分配给mContext,如:
public AgAppHelperMethods(Context context) {
mContext = context;
}
在创建一个对象您的活动如:
AgAppHelperMethods helper = new AgAppHelperMethods(getBaseContext());
最后,要显示您的吐司用途:
Toast.makeText(mContext, "error server not responding " + e.getMessage(), Toast.LENGTH_LONG).show();
它尝试它这个消息来做什么时候说 方法getBaseContext()是未定义的类型AgAppHelperMethods – 2012-08-15 06:44:42
如果你不介意RaghavSood你给我你的电子邮件地址或Skype ID – 2012-08-15 06:45:10
@LastSumorai该部分需要在您的活动。 – 2012-08-15 06:46:06
在应用程序类创建myToast方法,像
public void myToast(String msg) {
Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
}
和下面的代码添加到您的类,
private MyApplication application;
public AgAppHelperMethods(Context context) {
application = (MyApplication)context.getApplication();
}
最后,调用myToast方法,你想,像
applicaion.myToast("msg you want to show");
注意:将MyApplication替换为您的应用程序类
我还没有测试过,但这可能适用于您。
sir fi u不介意我可以通过邮件发送完整的代码吗?所以你可以运行并轻松地解决问题? – 2012-08-15 08:04:56
应用类是什么意思?你的意思是一个活动clas或agapphelpermethod类? – 2012-08-15 08:06:46
通过扩展“应用程序”创建一个类,它被称为应用程序类 – Babloo 2012-08-15 13:07:56
看到评论等后,我认为你应该开始更简单。这比你高。阅读一些关于编程的基础知识。 – 2012-08-15 09:34:52