我现在已经阅读了很多内容,并且我已经找到了如何使用新的ADT的switch语句给出常量表达式的例子,但是没有提到关于@Inject的每一个.
这是我有问题的代码的一个例子.
import roboguice.inject.InjectView;
public abstract class YpListActivity extends GuiceListActivity
@InjectView(R.id.btnSearch)
Button btnSearch;
@InjectView(R.id.btnSpeech)
View btnSpeech;
@InjectView(R.id.etWhat)
EditText etWhat;
@InjectView(R.id.etWhere)
EditText etWhere;
@InjectView(R.id.tvIn)
TextView tvIn;
@InjectView(R.id.tvLocation)
TextView tvLocation;
@InjectView(R.id.tvCustom)
private ToggleButton tvCustom;
@InjectView(R.id.infoButton)
private ImageView iconButton;
Run Code Online (Sandbox Code Playgroud)
每次我尝试使用像@injectView(R.id.*)这样的东西时,eclipse会抛出错误:
"注释属性InjectView.value的值必须是常量表达式."
我甚至尝试将其更改为:
private static final int btnsrch = new Integer(R.id.btnSearch);
@InjectView(btnsrch )
TableRow btnSearch ;
Run Code Online (Sandbox Code Playgroud)
"btnsrch"如何不是一个常量表达式?
有谁知道如何解决这个问题?
经过几个小时的配置和搜索代码后,我已经减少了几百个错误,并留下了这两个错误:
"该项目未构建,因为其构建路径不完整.无法找到com.google.android.maps.MapActivity的类文件.修复构建路径然后尝试构建此项目"
"无法解析com.google.android.maps.MapActivity类型.它是从所需的.class文件间接引用的"
我到处寻找任何关于如何解决这个问题的提示.我的构建路径似乎很好.我包括了可能适用的所有JAR.我很确定我正在使用正确的ADT,所以任何帮助对于需要改变的东西都会很棒.