无法在Android Studio中覆盖ArrayAdapter的toString()

时间:2016-05-04 11:10:22

标签: java android listview google-app-engine android-arrayadapter

我试图覆盖我的类Match的toString方法,以与ArrayAdapter一起使用。但ArrayAdapter似乎忽略了覆盖,仍然使用对象类的toString方法。以下是Match类中使用的代码:

@Override
public String toString(){
  return getTeamA+" v "+getTeamB;
}

但是ArrayAdapter返回一个很长的扭曲字符串,这是我想的对象的JSON表示,但肯定不是我想要的。另请注意,Match类位于Android Studio的GAE后端模块中。我已经完成了以下工作:

  • 重建项目
  • 清理项目
  • 将后端重新部署到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,重新部署后端模块。这里没有选择。

0 个答案:

没有答案