是否更改自定义listView Android onclick的内容?

是否更改自定义listView Android onclick的内容?,android,listview,Android,Listview,我有自定义的listview,可以预览从服务器获取的数据。 现在我想更改listview中的itemclick数据。我想要预览的新数据也来自服务器。 这是我的BaseAdapter类 class MyCustomAdapter extends BaseAdapter { Vector<String> data_text; int[] data_image; MyCustomAdapter() { data_text =

我有自定义的listview,可以预览从服务器获取的数据。 现在我想更改listview中的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);
  }}
类MyCustomAdapter扩展了BaseAdapter{ 矢量数据; int[]数据\图像; MyCustomAdapter() { 数据_text=null; 数据\图像=空; } MyCustomAdapter(矢量文本,int[]图像) { 数据\文本=文本; 数据\图像=图像; } public int getCount() { 返回数据_text.size(); } 公共字符串getItem(int位置) { 返回null; } 公共长getItemId(int位置) { 返回位置; } 公共无效更新结果(矢量结果){ 数据\文本=结果; //触发列表更新 notifyDataSetChanged(); } 公共视图getView(int位置、视图转换视图、视图组父视图) { LayoutInflater充气机=getLayoutInflater(); 查看行; 行=充气机。充气(R.layout.category\u list\u元素,父元素,false); TextView TextView=(TextView)row.findViewById(R.id.TextView01); ImageView ImageView=(ImageView)row.findViewById(R.id.ImageView01); textview.setText(data_text.get(position.toString()); setImageResource(数据_图像[位置]); 返回(行); }} 请提供解决方案

请注意,我想在listview的onclick上预览同一活动的数据

这是我的单打 l1是listview

    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);


             }});
l1.setAdapter(新的MyCustomAdapter(appCat,image));
l1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
View curr=parent.getChildAt((int)id);
TextView c=(TextView)curr.findViewById(R.id.TextView01);
字符串sel_item=c.getText().toString();
阿皮神(网址);
}});
API_GOD(URL)是接收到的服务器端数据。 现在告诉我如何更新列表。

在getView()中写入


或者在OnClick中执行您的工作

您只需将此适配器设置为您的视图
mCustomList.setAdapter(mMyCustomAdapter)
,然后单击侦听器:
mCustomList.setonicmclicklistener(this)您可以在参数中实现整个onclick,或者让您的类实现click listener
implements OnItemClickListener
OnItemClickListener的优点是您将获得一个位置:
@覆盖
public void onItemClick(AdapterView arg0,View v,int pos,long arg3){}
因此您可以只更新列表中的该项,然后通知适配器

@Override
 public void onItemClick(AdapterView<?> parent, View view,int position,long id) 
    {

        TextView c = (TextView) view.findViewById(R.id.TextView01);
        String sel_item = c.getText().toString();
        API_GOD(URL);


         }});
@覆盖
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
TextView c=(TextView)view.findViewById(R.id.TextView01);
字符串sel_item=c.getText().toString();
阿皮神(网址);
}});

我已经添加了onclicklistener代码。。。请告诉我你还需要做什么。我不明白你说的话。添加onItemClickListener(非onClick)以便获得位置,然后在适配器中更新数组/列表和notifyDataChanged()。抱歉,我是说onItemClickListener()…我在问题中发布了上面的代码…请告诉我我做错了什么…更改了答案,您必须使用“视图”引用已单击的项目;然后你可以
c.setText(“随便什么”)API_GOD的发布代码(URL);方法。。完成API_GOD(URL)后需要调用notifydatasetchanged();
@Override
 public void onItemClick(AdapterView<?> parent, View view,int position,long id) 
    {

        TextView c = (TextView) view.findViewById(R.id.TextView01);
        String sel_item = c.getText().toString();
        API_GOD(URL);


         }});