簡體   English   中英

如何在mainActivity而非自定義視圖中為gridview單選按鈕設置onclick偵聽器

[英]How to set onclick listener for gridview radio buttons in mainactivity instead custom view

我想為MainActivity單選按鈕設置onclicklistener ,現在我在自定義視圖中具有onclick。

public class ToggleButtonGroupTableLayout  extends TableLayout  implements OnClickListener {

    private static final String TAG = "ToggleButtonGroupTableLayout";
    private RadioButton activeRadioButton;

    /**
     * @param context
     */
    public ToggleButtonGroupTableLayout(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    /**
     * @param context
     * @param attrs
     */
    public ToggleButtonGroupTableLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onClick(View v) {
        final RadioButton rb = (RadioButton) v;
        if ( activeRadioButton != null ) {
            activeRadioButton.setChecked(false);
        }
        rb.setChecked(true);
        Toast.makeText(getContext(),rb.getText().toString(), Toast.LENGTH_SHORT).show();
        if(rb.getText().toString().equalsIgnoreCase("Apartment"))
        {


        }

        //radio_button_data(rb.getText().toString());
        activeRadioButton = rb;
    }

}

如何將onclick偵聽器移至MainActivity?

您可以在與主要活動相同的類中創建自定義視圖,然后可以輕松訪問它,或者可以在適配器中傳遞Click偵聽器並在主要活動中超越OnClick並執行所需的操作:

public class OnItemClickListener implements View.OnClickListener {
    private int position;
    private OnItemClickCallback onItemClickCallback;

    public OnItemClickListener(int position, OnItemClickCallback onItemClickCallback) {
        this.position = position;
        this.onItemClickCallback = onItemClickCallback;
    }

    @Override
    public void onClick(View view) {
        onItemClickCallback.onItemClicked(view, position);
    }

    public interface OnItemClickCallback {
        void onItemClicked(View view, int position);
    }
}

添加此類並在adpater中傳遞其對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM