【发布时间】:2012-03-19 15:52:05
【问题描述】:
添加几个标签和编辑字段后,我的程序中出现此错误,然后将保存的值传递给其他类。
当我按下特定按钮时,它给了我 StackOverFlow 错误,但该类没有实现任何 Hashtable 元素。
LongHashtable.get(long) 行:454
这就是我提到的课程。
public final class RSSMainScreen extends MainScreen implements FieldChangeListener{
RSSFeedList rfl = new RSSFeedList ();
String rssUrl1 = "http://kompas.feedsportal.com/c/33612/f/589626/index.rss";
String rssUrl2 = "http://feeds.gawker.com/lifehacker/full";
String rssUrl3 = rfl.x ;
ButtonField viewRSSButton = new ButtonField("Refresh");
ButtonField editRSSButton = new ButtonField("Settings");
DefaultHandler dh = new DefaultHandler();
public RSSMainScreen()
{
// Set the displayed title of the screen
HorizontalFieldManager hfm = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER);
setTitle("");
viewRSSButton.setChangeListener(this);
editRSSButton.setChangeListener(this);
String[][] urlData1 = dh.getURLFromRSS(rssUrl1);
String[][] urlData2 = dh.getURLFromRSS(rssUrl2);
String[][] urlData3 = dh.getURLFromRSS(rssUrl3);
add(new LabelField("KOMPAS"));
add(new SeparatorField());
for (int i = 0; i < urlData1.length; i++)
{
String title = urlData1[0][i];
String url = urlData1[1][i];
add(new LinkLabel(title, url));
add(new SeparatorField());
}
add(new LabelField("LIFEHACKER"));
add(new SeparatorField());
for (int i = 0; i < urlData2.length; i++)
{
String title = urlData2[0][i];
String url = urlData2[1][i];
add(new LinkLabel(title, url));
add(new SeparatorField());
}
add(new LabelField("CUSTOM"));
add(new SeparatorField());
for (int i = 0; i < urlData3.length; i++)
{
String title = urlData3[0][i];
String url = urlData3[1][i];
add(new LinkLabel(title, url));
add(new SeparatorField());
}
hfm.add(viewRSSButton);
hfm.add(editRSSButton);
this.add(hfm);
}
这是传递字符串值的类。
我可以知道如何解决这个问题吗?
public class RSSFeedList extends MainScreen implements FieldChangeListener {
RSSMainScreen rms = new RSSMainScreen();
ButtonField backButton = new ButtonField("Cancel and Back");
ButtonField saveButton = new ButtonField("Save");
BasicEditField thirdURL = new BasicEditField();
String x = "";
protected RSSFeedList()
{
HorizontalFieldManager hfm = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER);
backButton.setChangeListener(this);
saveButton.setChangeListener(this);
LabelField firstURLLabel = new LabelField("First RSS");
LabelField firstURL = new LabelField(rms.rssUrl1);
LabelField secondURLLabel = new LabelField("Second RSS");
LabelField secondURL = new LabelField(rms.rssUrl2);
LabelField thirdURLLabel = new LabelField("Third RSS (Editable)");
hfm.add(firstURLLabel);
hfm.add(new SeparatorField());
hfm.add(firstURL);
hfm.add(new SeparatorField());
hfm.add(secondURLLabel);
hfm.add(new SeparatorField());
hfm.add(secondURL);
hfm.add(new SeparatorField());
hfm.add(thirdURLLabel);
hfm.add(new SeparatorField());
hfm.add(thirdURL);
hfm.add(new SeparatorField());
hfm.add(backButton);
hfm.add(saveButton);
this.add(hfm);
}
public void fieldChanged(Field field, int context)
{
if(field == backButton)
{
//screen = new RSSMainScreen();
}
else if(field == saveButton)
{
x = thirdURL.getText().toString();
//screen = new RSSMainScreen();
UiApplication.getUiApplication().pushScreen(new RSSMainScreen());
}
}}
谢谢!
【问题讨论】:
-
一些代码可以帮助我们帮助您
-
你能把整个代码贴在课堂上吗?如果您正在执行重复的方法调用并且堆栈已满,则会导致堆栈溢出错误。
-
你的头衔震撼了我的灵魂。请编辑我担心的标题
-
代码已经有,抱歉耽搁了。
-
我不确定哪个按钮是导致异常的特定按钮,但单击保存按钮肯定会导致 IllegalArgumentException。检查这个,blackberry.com/developers/docs/4.1api/net/rim/device/api/ui/…。
标签: android blackberry stack-overflow