处理自定义 ArrayAdapter 和 ListView 的点击

Handle click for custom ArrayAdapter and ListView

我有一个包含一些字符串变量的 ArrayList,并且我有一个从 ArrayList 填充的自定义 ArrayAdapter。现在,当显示该列表并单击列表中的项目时,我希望程序做一些事情,但我不知道该怎么做。我看了几个例子,但我不明白把代码放在哪里。所以这是我的代码,你能告诉我做什么和在哪里做吗?

MainActivity.java

public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> listAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    updateList(listOfItems);
}
public void updateList(ArrayList<String> possibleWords){
    listAdapter = new CustomListAdapter(this, R.layout.custom_list,possibleWords);
    android.R.layout.simple_list_item_1, possibleWords);
    final ListView listView = (ListView)findViewById(R.id.listview);
    listView.setAdapter(listAdapter);
}

CustomListAdapter.java Class

public class CustomListAdapter extends ArrayAdapter {

private Context mContext;
private int id;
private List<String> items ;

public CustomListAdapter(Context context, int textViewResourceId , List<String> list )
{
    super(context, textViewResourceId, list);
    mContext = context;
    id = textViewResourceId;
    items = list ;
}

@Override
public View getView(int position, View v, ViewGroup parent)
{
    View mView = v ;
    if(mView == null){
        LayoutInflater vi = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mView = vi.inflate(id, null);
    }
    return mView;
}
}

这是输出结果的示例图片

所以当 "act" 或 "cat" 被点击时,我想做点什么,但我不知道如何处理点击以及将代码放在我想做的地方。

请像下面这样在适配器中添加点击监听器

mView.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
      // do something when the button is clicked
    }
};

将下面的代码放在你的主activity

listview.setOnItemClickListener(new OnItemClickListener()
   {
      @Override
      public void onItemClick(AdapterView<?> adapter, View v, int position,
            long arg3) 
      {
              //do your work here
      }
   });