![](/img/trans.png)
[英]How to access component of MainActivity in recycler view to make onclick listener?
[英]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.