我是编程新手,并且一直在尝试使用this教程来学习android编程。
我正在执行下面提到的代码,并且已经收到以下错误。经过大量的尝试后,我无法解决它们:
package com.example.sony.myapplication.twitter;
import com.example.sony.myapplication.TweetAdapter;
import java.util.ArrayList;
import java.util.List;
public class Tweet{
List<Tweet> tweets = new ArrayList<Tweet>();
for(int i = 0; i <20; i++ ) {
Tweet tweet = new Tweet();
tweet.setTitle("A nice header for Tweet # " +i);
tweet.setBody("Some random body text for the tweet # " +i);
tweets.add(tweet);
TweetAdapter tweetItemArrayAdapter = new TweetAdapter(this, new String[10]);
}
}
public void setTitle(String title) {
this.title = title;
}
public void setBody(String body) {
this.body = body;
}
错误:
1.Error:(17, 5) error: illegal start of type
2.Error:(17, 14) error: ')' expected
3.Error:(17, 17) error: illegal start of type
4.Error:(17, 18) error: <identifier> expected
5.Error:(17, 19) error: ';' expected
6.Error:(17, 23) error: <identifier> expected
7.Error:(17, 25) error: illegal start of type
8.Error:(17, 28) error: '(' expected
9.Error:(28, 12) error: class, interface, or enum expected
10.Error:(30, 5) error: class, interface, or enum expected
11.Error:(32, 12) error: class, interface, or enum expected
12.Error:(34, 5) error: class, interface, or enum expected
错误1到8与for
循环相关。
错误9和10与setTitle
函数有关。
错误11和12与setBody
函数有关。
在Android Studio中,for
循环显示为Unexpected Token
。
答案 0 :(得分:4)
更新:感谢Takendarkk警告我错误的答案。 如Takendarkk和BeingMIAkashs所述,for循环必须采用自己的方法。
public class Tweet {
List<Tweet> tweets = new ArrayList<Tweet>();
String title;
String body;
public Tweet() {
setTweets();
}
private void setTweets() {
for(int i = 0; i <20; i++ ) {
Tweet tweet = new Tweet();
tweet.setTitle("A nice header for Tweet # " +i);
tweet.setBody("Some random body text for the tweet # " +i);
tweets.add(tweet);
}
TweetAdapter tweetItemArrayAdapter = new TweetAdapter(this, new String[10]);
}
public void setTitle(String title) {
this.title = title;
}
public void setBody(String body) {
this.body = body;
}
}
此外,您传递到适配器的参数,除非您的适配器中发生了我不知道的事情,否则将生成10个空项目的列表。你确定你不是这个意思:
TweetAdapter tweetItemArrayAdapter = new TweetAdapter(this, tweets);
答案 1 :(得分:1)
您必须在任何方法中编写for循环。你不能在方法之外编写for循环。