【发布时间】:2014-11-07 19:00:30
【问题描述】:
我有一个带有 AsyncTask 的片段,我在其中解析 Json。要将每个元素放入列表中,我使用SimpleAdapter。在我的项目列表中,我有一个按钮。当然,如果我想点击按钮我需要创建一个getView。好吧,不行。这是 AsyncTask 中的 SimpleAdapter 部分
ListAdapter adapter = new SimpleAdapter(getActivity(), list, R.layout.list_rom_item,
new String[] { TAG_NAME, TAG_SURNAME }, new int[] { R.id.name, R.id.surname});
现在,在那之后,我试着把这个:
@Override
public View getView (int position, View convertView, ViewGroup parent)
{
View v = super.getView(position, convertView, parent);
Button b=(Button)v.findViewById(R.id.mytask);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,"save",Toast.LENGTH_SHORT).show();
}
});
return v;
}
我在@Override 中遇到错误,例如:The annotation @Override is disallowed for this location 然后当然是在getView() 语法中。我不知道为什么。我也尝试清理项目但没有。也许还有其他解决方案?谢谢。
【问题讨论】:
-
你到底把这个 getView() 方法放在哪里了?你能发布更多的代码吗?
-
啊这是一个很长的代码..mmh 在
onPostExecute方法中但是.. 在适配器之前我执行HashMap<String, String> map = new HashMap<String, String>();然后是适配器然后是getView。就在适配器语句之后。
标签: java android android-fragments simpleadapter getview