我有一个TextView
,我在这个OnClickListener
上添加了TextView
。我使用此操作将自定义视图加载到LinearLayout
。
但是当我点击此TextView
两次时,自定义视图会在LinearLayout
上重复显示。在将新的自定义视图加载到此LinearLayout
之前,我清除了此LinearLaout
上的所有自定义视图。
这是OnClickListener
上的TextView
,
TextView rejectedTitleTextView = (TextView) findViewById(R.id.roster_menu_rejected_title);
rejectedTitleTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
rejectedTitleTextView.setBackgroundColor(getResources().getColor(R.color.acceptedPurpleColour));
newTitleTextView.setBackgroundColor(getResources().getColor(R.color.defaultBlack));
acceptedTitleTextView.setBackgroundColor(getResources().getColor(R.color.defaultBlack));
locationLinearLayout.removeAllViews();
rosterBottomLayout.setVisibility(View.GONE);
Log.d("CHECK_ACTION"," REJECTED_TEXT_VIEW ");
InternetConnectivity internetConnectivity = new InternetConnectivity();
final boolean isConnectedToInternet = internetConnectivity.isConnectedToInternet(context);
if(isConnectedToInternet==true) {
try {
Thread.sleep(1300);
} catch (Exception e) {
e.printStackTrace();
}
getDataFromServer("REJECTED");
}else{
Snackbar.make(mainView, "No Internet Connection", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
}
});
getDataFromServer(" REJECTED&#34);
是我用来将自定义视图加载到此LinearLayout
。
如何防止此问题?
有任何想法吗?
答案 0 :(得分:6)
在onclickListener里面放
rejectedTitleTextView.setClickable(false);
并且一旦完成您的功能,请将其设置为true,因为您需要在下次点击。
rejectedTitleTextView.setClickable(true);
答案 1 :(得分:4)
在setOnclickListener
内部尝试以下代码: -
textView.setClickable(false);
答案 2 :(得分:3)
试试这个
rejectedTitleTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mSpinner.setEnabled(false);
mSpinner.postDelayed(new Runnable() { @Override public
void run() {
mSpinner.setEnabled(true); }
}
// do your stuff here
});
答案 3 :(得分:1)
您可以像这样维护布尔值
boolean isClick=false;
rejectedTitleTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!isClick)
{
//do your Stuff on onCLick
isClick=true;
}else
{
//leave it blank if you do not want to do anything second time
}
}
});