我需要创建一种算法。我有方法创建布局,在此布局中,我需要在此布局中指定clickListener。我什么都没想,请帮助我做到这一点。

此方法创建布局

public LinearLayout createLinearLayout(int i) {
    LinearLayout linLayout = new LinearLayout(context);
    linLayout.setOrientation(LinearLayout.HORIZONTAL);
    LinearLayout.LayoutParams paramsLayout = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    paramsLayout.setMargins(0, 0, 0, 10);
    linLayout.setLayoutParams(paramsLayout);
    linLayout.setBackgroundColor(Color.parseColor("#26000000"));

    linLayout.setId(i);

    return linLayout;
}


我不知道如何在布局中听众,我这样做,但它不起作用

View.OnClickListener myOnlyhandler = new View.OnClickListener() {
    public void onClick(View v) {
        switch(v.getId()) {
            case 0:
                Log.e("0", "0");
                break;
            case 1:
                Log.e("1", "1");
                break;
        }
    }
};

最佳答案

只需添加:
linLayout.setOnClickListener(myOnlyHandler)

我认为您还必须设置linLayout.setClickable(true)

希望能帮助到你 ;)

07-27 17:44