Skip to content

Commit 9d5c828

Browse files
authored
Merge pull request #35 from ShivamTaneja/master
Added onClickListener to cards
2 parents 0b02d77 + 5bec616 commit 9d5c828

16 files changed

+291
-20
lines changed
3 Bytes
Binary file not shown.

.idea/modules.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
apply plugin: 'com.android.application'
32

43
android {

app/src/main/AndroidManifest.xml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="com.example.dhananjay.dailygoals">
44

5+
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
6+
57
<application
68
android:allowBackup="true"
79
android:icon="@mipmap/ic_launcher"
@@ -16,13 +18,20 @@
1618
<category android:name="android.intent.category.LAUNCHER" />
1719
</intent-filter>
1820
</activity>
19-
<activity android:name=".WelcomeScreenActivity"
20-
android:theme="@style/WelcomeScreenTheme"
21-
android:screenOrientation="portrait"/>
22-
<activity android:name=".TodayActivity"></activity>
23-
<activity android:name=".PopupActivity"
24-
android:theme="@style/AppTheme.CustomTheme"></activity>
25-
<receiver android:name=".NotificationActivity"></receiver>
21+
<activity
22+
android:name=".WelcomeScreenActivity"
23+
android:screenOrientation="portrait"
24+
android:theme="@style/WelcomeScreenTheme" />
25+
<activity android:name=".TodayActivity" />
26+
<activity
27+
android:name=".PopupActivity"
28+
android:theme="@style/AppTheme.CustomTheme" />
29+
30+
<receiver android:name=".NotificationActivity" />
31+
32+
<activity android:name=".Goals_Completed" />
33+
<activity android:name=".Goals_Missed" />
34+
<activity android:name=".Achievements"></activity>
2635
</application>
27-
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"></uses-permission>
28-
</manifest>
36+
37+
</manifest>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.dhananjay.dailygoals;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
6+
public class Achievements extends AppCompatActivity {
7+
8+
@Override
9+
protected void onCreate(Bundle savedInstanceState) {
10+
super.onCreate(savedInstanceState);
11+
setContentView(R.layout.activity_achievements);
12+
}
13+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.example.dhananjay.dailygoals;
2+
3+
4+
import android.view.View;
5+
6+
public interface ClickListener{
7+
public void onClick(View view, int position);
8+
public void onLongClick(View view,int position);
9+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.dhananjay.dailygoals;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
6+
public class Goals_Completed extends AppCompatActivity {
7+
8+
@Override
9+
protected void onCreate(Bundle savedInstanceState) {
10+
super.onCreate(savedInstanceState);
11+
setContentView(R.layout.activity_goals__completed);
12+
}
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.dhananjay.dailygoals;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
6+
public class Goals_Missed extends AppCompatActivity {
7+
8+
@Override
9+
protected void onCreate(Bundle savedInstanceState) {
10+
super.onCreate(savedInstanceState);
11+
setContentView(R.layout.activity_goals__missed);
12+
}
13+
}

app/src/main/java/com/example/dhananjay/dailygoals/MainActivity.java

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package com.example.dhananjay.dailygoals;
22

3+
import android.content.Context;
34
import android.support.v7.app.AppCompatActivity;
45
import android.os.Bundle;
56
import android.support.v7.widget.LinearLayoutManager;
67
import android.support.v7.widget.RecyclerView;
78
import android.content.Intent;
9+
import android.view.GestureDetector;
10+
import android.view.MotionEvent;
811
import android.view.View;
12+
import android.widget.Toast;
913

1014
import com.stephentuso.welcome.WelcomeHelper;
1115

@@ -50,21 +54,25 @@ protected void onCreate(Bundle savedInstanceState) {
5054
item2List.add(new Items2(R.drawable.tick));
5155
item2List.add(new Items2(R.drawable.wrong));
5256
item3List.add(new Items3(R.drawable.achievements));
57+
5358
LinearLayoutManager layoutmanager=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
5459
RecyclerView.LayoutManager rvlayoutmanager=layoutmanager;
5560
recyclerView.setLayoutManager(rvlayoutmanager);
5661
TextAdapter adapter=new TextAdapter(this,itemList);
5762
recyclerView.setAdapter(adapter);
63+
5864
LinearLayoutManager layoutmanager1=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
5965
RecyclerView.LayoutManager rvlayoutmanager1=layoutmanager1;
6066
recyclerView1.setLayoutManager(rvlayoutmanager1);
6167
TextAdapter1 adapter1=new TextAdapter1(this,item1List);
6268
recyclerView1.setAdapter(adapter1);
69+
6370
LinearLayoutManager layoutmanager2=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
6471
RecyclerView.LayoutManager rvlayoutmanager2=layoutmanager2;
6572
recyclerView2.setLayoutManager(rvlayoutmanager2);
6673
TextAdapter2 adapter2=new TextAdapter2(this,item2List);
6774
recyclerView2.setAdapter(adapter2);
75+
6876
LinearLayoutManager layoutmanager3=new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
6977
RecyclerView.LayoutManager rvlayoutmanager3=layoutmanager3;
7078
recyclerView3.setLayoutManager(rvlayoutmanager3);
@@ -78,11 +86,118 @@ public void onItemClicked(RecyclerView recyclerView, int position, View v) {
7886
}
7987
} );
8088

89+
90+
91+
92+
93+
recyclerView2.addOnItemTouchListener(new RecyclerTouchListener(this,
94+
recyclerView2, new ClickListener() {
95+
@Override
96+
public void onClick(View view, final int position) {
97+
//Values are passing to activity & to fragment as well
98+
99+
100+
if(position == 0)
101+
{
102+
Intent intent = new Intent(getApplicationContext(), Goals_Completed.class);
103+
startActivity(intent);
104+
}
105+
if(position == 1)
106+
{
107+
Intent intent = new Intent(getApplicationContext(), Goals_Missed.class);
108+
startActivity(intent);
109+
}
110+
111+
}
112+
@Override
113+
public void onLongClick(View view, int position) {
114+
115+
if(position == 0)
116+
{
117+
Toast.makeText(getApplicationContext(), "Daily Goals Completed by You",
118+
Toast.LENGTH_SHORT).show();
119+
}
120+
if(position == 1)
121+
{
122+
Toast.makeText(getApplicationContext(), "Daily Goals Missed by You",
123+
Toast.LENGTH_SHORT).show();
124+
}
125+
}
126+
}));
127+
recyclerView3.addOnItemTouchListener(new RecyclerTouchListener(this,
128+
recyclerView3, new ClickListener() {
129+
@Override
130+
public void onClick(View view, final int position) {
131+
//Values are passing to activity & to fragment as well
132+
133+
134+
135+
Intent intent = new Intent(getApplicationContext(), Achievements.class);
136+
startActivity(intent);
137+
138+
139+
}
140+
@Override
141+
public void onLongClick(View view, int position) {
142+
143+
144+
Toast.makeText(getApplicationContext(), "Your Achievements",
145+
Toast.LENGTH_SHORT).show();
146+
147+
}
148+
}));
149+
81150
// Show the welcome screen
82151
welcomeScreen = new WelcomeHelper(this, WelcomeScreenActivity.class);
83152
welcomeScreen.show(savedInstanceState);
84153
}
85154

155+
156+
class RecyclerTouchListener implements RecyclerView.OnItemTouchListener{
157+
158+
private ClickListener clicklistener;
159+
private GestureDetector gestureDetector;
160+
161+
public RecyclerTouchListener(Context context, final RecyclerView recycleView, final ClickListener clicklistener){
162+
163+
this.clicklistener=clicklistener;
164+
gestureDetector=new GestureDetector(context,new GestureDetector.SimpleOnGestureListener(){
165+
@Override
166+
public boolean onSingleTapUp(MotionEvent e) {
167+
return true;
168+
}
169+
170+
@Override
171+
public void onLongPress(MotionEvent e) {
172+
View child=recycleView.findChildViewUnder(e.getX(),e.getY());
173+
if(child!=null && clicklistener!=null){
174+
clicklistener.onLongClick(child,recycleView.getChildAdapterPosition(child));
175+
}
176+
}
177+
});
178+
}
179+
180+
@Override
181+
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
182+
View child=rv.findChildViewUnder(e.getX(),e.getY());
183+
if(child!=null && clicklistener!=null && gestureDetector.onTouchEvent(e)){
184+
clicklistener.onClick(child,rv.getChildAdapterPosition(child));
185+
}
186+
187+
return false;
188+
}
189+
190+
@Override
191+
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
192+
193+
}
194+
195+
@Override
196+
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
197+
198+
}
199+
}
200+
86201
@Override
87202
protected void onSaveInstanceState(Bundle outState) {
88203
super.onSaveInstanceState(outState);

0 commit comments

Comments
 (0)