daimajia / daimajia/AndroidSwipeLayout

Button click works only once

Open
#351 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
12.3k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

I am using SwipeLayout in my activity.
Activity is having 2 buttons. On button click, I want to set respective fragment on bottom layout. And on close, it should set replace bottom layout with default fragment so that on swipe it displays default fragment.

When I set default fragment in onClose method of swipeLayout.addSwipeListener, it does not listen to button click.

This works fine with RecyclerView but now I want same in activity

`






```

`

`package com.sp.spsamples3.activities;

public class SwipeLayoutActivity extends AppCompatActivity {

```
SwipeLayout mSwipeLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_swipe_layout);

mSwipeLayout = (SwipeLayout) findViewById(R.id.swipe_layout);

getSupportFragmentManager().beginTransaction().replace(R.id.sub_item_container, new DefaultFragment()).commit();
mSwipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);

mSwipeLayout.addSwipeListener(new SwipeLayout.SwipeListener() {
@Override
public void onStartOpen(SwipeLayout layout) {

}

@Override
public void onOpen(SwipeLayout layout) {
Log.i("sp testing","open");
}

@Override
public void onStartClose(SwipeLayout layout) {
Log.i("sp testing","start close");
}

@Override
public void onClose(SwipeLayout layout) {
Log.i("sp testing","closed");
getSupportFragmentManager().beginTransaction().replace(R.id.sub_item_container, new DefaultFragment()).commit();
}

@Override
public void onUpdate(SwipeLayout layout, int leftOffset, int topOffset) {

}

@Override
public void onHandRelease(SwipeLayout layout, float xvel, float yvel) {

}
});
initClicks();

}

private void initClicks() {

((Button) findViewById(R.id.btn_one)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("sp testing", "1 clicked");
setFragment(new ScreenOneFragment());
mSwipeLayout.open(true);
}
});

((Button) findViewById(R.id.btn_two)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("sp testing", "2 clicked");
setFragment(new ScreenTwoFragment());
mSwipeLayout.open(true);
}
});
}

private void setFragment(Fragment fragment) {
getSupportFragmentManager().beginTransaction().replace(R.id.sub_item_container, fragment).commit();
}
```

}
`

This happens on button click
07-29 15:40:05.258 16442-16442/com.sp.spswipelayoutsample I/sp testing: start close
07-29 15:40:05.258 16442-16442/com.sp.spswipelayoutsample I/sp testing: closed

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.