daimajia / daimajia/AndroidSwipeLayout
Button click works only once
- 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.