我正在实现一个Android应用程序来加载RSS提要。在我决定添加一个新屏幕以显示两个按钮并尝试向AsyncTask传递一个字符串值之前,它工作得非常好。其思路是这样的:屏幕将显示两个按钮供用户选择。一旦用户点击了其中一个按钮,它将调用AsyncTask以及字符串值(url)到readRSS(url),然后rss提要将由displayRSS(url)显示。readRSS(url)将相应地加载RSS提要。
我的代码如下:
import java.util.List;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class RSSProActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rss);
startLoadRSS();
}
private void startLoadRSS(){
new RSS_Load().execute();
}
//
private void preReadRSS()
{
Toast.makeText(this, "Reading RSS, Please wait.", Toast.LENGTH_LONG).show();
}
private StringBuffer readRSS(String url)
{
//depends on the inputs, will set the String value accordingly. It should be "url" but using the default value at the moment.
String urlStr = "http://www.bom.gov.au/fwo/IDZ00059.warnings_vic.xml";
AndroidSAXFeedParser saxFeedParser = new AndroidSAXFeedParser(urlStr);
List<RSSItem> parse = saxFeedParser.parse();
StringBuffer sb = new StringBuffer();
sb.append(parse.size()+" items found");
for(RSSItem item:parse){
sb.append(item.getTitle()+"posted at "+item.getDate());
sb.append(item.getDescription());
}
return sb;
}
private void displayRSS()
{
StringBuffer sb = readRSS(url);
TextView textView = new TextView(this);
textView.setText(sb.toString());
setContentView(textView);
Toast.makeText(this, "SUCCESS", Toast.LENGTH_LONG).show();
}
//AsyncTask
public class RSS_Load extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute() {
super.onPreExecute();
preReadRSS();
}
@Override
protected Void doInBackground(Void... arg0) {
readRSS();
// should be readRSS(url) here
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
//super.onProgressUpdate(values);
// updateProgressBar(values[0]);
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
// dismissProgressBar();
// should be displayRSS(url) here
displayRSS();
}
}
}
提前道谢!
...意味着它实际上是在传递一个这种类型的数组。因此,如果将其更改为:
protected Void doInBackground(String... arg0)
您需要执行以下操作:
@Override
protected Void doInBackground(String... arg0)
{
readRSS(arg0[0]);
// should be readRSS(url) here
return null;
}
问题内容: 我想将参数(即字符串)传递给Onclick函数。目前,我这样做: 例如,result.name等于字符串“ Add”。当我单击此按钮时,出现一个错误,提示未定义添加。由于此函数调用可以完美地与数字参数一起使用,因此我认为它与字符串中的符号“”有关。以前有人遇到过这个问题吗? 问题答案: 看起来您是从字符串构建DOM元素。您只需要在result.name周围添加一些引号即可: 您实际上应
我试图通过C#代码传递此字符串,但失败了: soap:body1479374 System.xml.XmlDocument文档=新建System.xml.XmlDocument();Doc.LoadXML(字符串); 尝试发送作为整体和作为3个部分,但在A节内失败 string Sectiona=@“ soap:body ”; 字符串段B=“1479374”; 字符串节C=“”; 字符串数据=段A
我有一个不起作用的命令: 为了快速解释它:下面的第一部分应该从我拥有的sqlite文件中检索表名: 提前感谢您的帮助。
我需要传递一个字符串参数作为querystring参数,这应该是可选的。 在这里,我希望将位置作为可选参数。我试着用作为。但它对我不起作用。让我知道解决方案。
#substr($(sometext),1,3)-->['$(sometext)','1','3'] #substr(#trim(你好),1,3)--->['#trim(你好)‘,'1','3'] #substr(#replace(hello-world,hello,hi),1,3)-->['#replace(hello-world,hello,hi)','1','3'] 当我们有这样的嵌套函数时
问题内容: 我喜欢使用URL之类的,而不是传递URL之类的查询字符串。 如何在Struts2中做到这一点? 我做了如下。但它不起作用,显示500错误代码 问题答案: 在2.1+下使用纯Struts2是不可能的。解决方法是,可以使用UrlRewriterfilter进行此操作。从Struts2的2.1+使用通配符的帮助下,你可以使用像看到这样的帖子,但不喜欢。区别在于在第二种情况下没有参数名称。解决