我正在向linearlayout添加一个小视图。我必须对其应用View.OnClickListener,但是即使已添加视图,onClick仍不会触发。这是我的方法

for (Streams stream : streamArray) {
streamCount++;
    if (!(streamCount > 3)) {
    // ADD AN ITEM
    View v = li.inflate(R.layout.stream_item, theLinearLayoutforStreamItems, false);
    //SET ONCLICK

    v.setOnClickListener(new android.view.View.OnClickListener() {

        public void onClick(View v) {
            Log.i("onclick", ""+position );
            }
        });

    txtStreamItem = (TextView) v.findViewById(R.id.txtViewStream_item);
    txtStreamItem.setText(stream.name);
    theLinearLayoutforStreamItems.addView(v);

}


onClick()不触发。我不知道为什么,也无法在互联网上找到任何东西。

最佳答案

我认为您真正想要实现的是:

txtStreamItem.setOnClickListener(new android.view.View.OnClickListener() {

    public void onClick(View v) {
        Log.i("onclick", ""+position );
        }
    });


将其放在此行下面:

txtStreamItem = (TextView) v.findViewById(R.id.txtViewStream_item);

07-26 08:48