为动态添加的视图设置OnClickListeners

时间:2012-06-12 09:26:42

标签: java android android-layout dynamic android-widget

我正在为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()不会发射。我不知道为什么,我在互联网上找不到任何东西。

2 个答案:

答案 0 :(得分:1)

我认为你真正想要实现的目标是:

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

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

把它放在这一行的下方:

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

答案 1 :(得分:0)

设置View.setClickable& focus-able true