サーバーから取得したデータをプレビューしているカスタムリストビューがあります。itemclickでリストビューのデータを変更したいと思います。プレビューしたい新しいデータもサーバーから取得されます。これは私の BaseAdapter クラスです
class MyCustomAdapter extends BaseAdapter {
Vector<String> data_text;
int[] data_image;
MyCustomAdapter()
{
data_text = null;
data_image = null;
}
MyCustomAdapter(Vector<String> text, int[] image)
{
data_text = text;
data_image = image;
}
public int getCount()
{
return data_text.size();
}
public String getItem(int position)
{
return null;
}
public long getItemId(int position)
{
return position;
}
public void updateResults( Vector<String> results) {
data_text= results;
//Triggers the list update
notifyDataSetChanged();
}
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.category_list_element, parent, false);
TextView textview = (TextView) row.findViewById(R.id.TextView01);
ImageView imageview = (ImageView) row.findViewById(R.id.ImageView01);
textview.setText(data_text.get(position).toString());
imageview.setImageResource(data_image[position]);
return (row);
}}
解決策を提供してください。
リストビューのonclickで同じアクティビティのデータをプレビューしたいことに注意してください。
これは私の onclick です l1 はリストビューです
l1.setAdapter(new MyCustomAdapter(appCat, image));
l1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position,long id)
{
View curr = parent.getChildAt((int) id);
TextView c = (TextView)curr.findViewById(R.id.TextView01);
String sel_item = c.getText().toString();
API_GOD(URL);
}});
API_GOD(URL)は受信するサーバー側のデータです。リストを更新する方法を教えてください。