我试图覆盖我的类Match的toString方法,以与ArrayAdapter一起使用。但ArrayAdapter似乎忽略了覆盖,仍然使用对象类的toString方法。以下是Match类中使用的代码:
@Override
public String toString(){
return getTeamA+" v "+getTeamB;
}
但是ArrayAdapter返回一个很长的扭曲字符串,这是我想的对象的JSON表示,但肯定不是我想要的。另请注意,Match类位于Android Studio的GAE后端模块中。我已经完成了以下工作:
其他所有操作都运行正常,而不是这个。也没有抛出任何错误。
更新:
以下是使用它的代码:
public static void printMatchList(Activity activity, ArrayList<Match> matches){
ArrayAdapter<Match> matchArrayAdapter=new ArrayAdapter<>(activity,R.layout.textview,matches);
ListView listView=(ListView) activity.findViewById(R.id.listView);
listView.setAdapter(matchArrayAdapter);
}
设备中的输出如下所示:
{&#34; ID&#34;:&#34; 1&#34;&#34; teamA&#34;:&#34; ABC&#34;&#34; teamB&#34;:& #34; XYZ&#34;&#34;种类&#34;:&#34;#的GameAPI resourcesItem&#34;}
无论是否使用@Override for toString(),输出都是相同的。
另一个更新:
事实证明问题出在GAE后端模块上。看来我无法访问我在后端模块中添加到模型类的任何新方法。这非常可怕。 我已经尝试了一切,重建应用程序,重新启动Android Studio,重新部署后端模块。这里没有选择。