diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
diff --git a/.idea/.gitignore b/.idea/.gitignore
old mode 100644
new mode 100755
diff --git a/.idea/androidTestResultsUserPreferences.xml b/.idea/androidTestResultsUserPreferences.xml
new file mode 100755
index 00000000..3ab8a7a5
--- /dev/null
+++ b/.idea/androidTestResultsUserPreferences.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
old mode 100644
new mode 100755
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
old mode 100644
new mode 100755
index 526b4c25..a2d7c213
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -13,7 +13,6 @@
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
old mode 100644
new mode 100755
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
old mode 100644
new mode 100755
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
diff --git a/app/.gitignore b/app/.gitignore
old mode 100644
new mode 100755
diff --git a/app/build.gradle b/app/build.gradle
old mode 100644
new mode 100755
index adf23fde..557e7db4
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -25,6 +25,9 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ buildFeatures {
+ viewBinding true
+ }
}
dependencies {
@@ -32,6 +35,8 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+ implementation 'androidx.navigation:navigation-fragment:2.4.1'
+ implementation 'androidx.navigation:navigation-ui:2.4.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
old mode 100644
new mode 100755
diff --git a/app/src/androidTest/java/com/example/citylist/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/citylist/ExampleInstrumentedTest.java
old mode 100644
new mode 100755
diff --git a/app/src/androidTest/java/com/example/citylist/MainActivityTest.java b/app/src/androidTest/java/com/example/citylist/MainActivityTest.java
old mode 100644
new mode 100755
index 138b71be..d0815878
--- a/app/src/androidTest/java/com/example/citylist/MainActivityTest.java
+++ b/app/src/androidTest/java/com/example/citylist/MainActivityTest.java
@@ -76,4 +76,16 @@ public void testListViewClickAndBack(){
Espresso.pressBack(); //Back button
}
+ @Test
+ public void labtest()
+ {
+ onView(withId(R.id.button_add)).perform(click()); //Click add button to add a city to the list
+ onView(withId(R.id.editText_name)).perform(ViewActions.typeText("Dhaka")); //Type a city name
+ onData(anything()).inAdapterView(withId(R.id.city_list)).atPosition(0).perform(click());
+
+ onView(withId(R.id.second)).check(matches(isDisplayed()));
+ onView(withText("Edmonton")).check(matches(isDisplayed()));
+ onView(withId(R.id.button)).perform(click());
+ onView(withId(R.id.main)).check(matches(isDisplayed()));
+ }
}
diff --git a/app/src/androidTest/java/com/example/citylist/ShowActivityTest.java b/app/src/androidTest/java/com/example/citylist/ShowActivityTest.java
new file mode 100644
index 00000000..e524eae0
--- /dev/null
+++ b/app/src/androidTest/java/com/example/citylist/ShowActivityTest.java
@@ -0,0 +1,12 @@
+package com.example.citylist;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+
+public class ShowActivityTest {
+
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
old mode 100644
new mode 100755
index b15e6b3c..0772958d
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,6 +9,13 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.CityList" >
+
+
+
diff --git a/app/src/main/java/com/example/citylist/City.java b/app/src/main/java/com/example/citylist/City.java
old mode 100644
new mode 100755
diff --git a/app/src/main/java/com/example/citylist/CityList.java b/app/src/main/java/com/example/citylist/CityList.java
old mode 100644
new mode 100755
diff --git a/app/src/main/java/com/example/citylist/FirstFragment.java b/app/src/main/java/com/example/citylist/FirstFragment.java
new file mode 100644
index 00000000..de88685f
--- /dev/null
+++ b/app/src/main/java/com/example/citylist/FirstFragment.java
@@ -0,0 +1,47 @@
+package com.example.citylist;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.example.citylist.databinding.FragmentFirstBinding;
+
+public class FirstFragment extends Fragment {
+
+ private FragmentFirstBinding binding;
+
+ @Override
+ public View onCreateView(
+ LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState
+ ) {
+
+ binding = FragmentFirstBinding.inflate(inflater, container, false);
+ return binding.getRoot();
+
+ }
+
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ binding.buttonFirst.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ NavHostFragment.findNavController(FirstFragment.this)
+ .navigate(R.id.action_FirstFragment_to_SecondFragment);
+ }
+ });
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ binding = null;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/citylist/MainActivity.java b/app/src/main/java/com/example/citylist/MainActivity.java
old mode 100644
new mode 100755
index c11dac5b..680a4484
--- a/app/src/main/java/com/example/citylist/MainActivity.java
+++ b/app/src/main/java/com/example/citylist/MainActivity.java
@@ -1,8 +1,11 @@
package com.example.citylist;
import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
import android.os.Bundle;
import android.view.View;
+import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
@@ -56,6 +59,14 @@ public void onClick(View v) {
}
});
+ cityList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
+ Intent intent = new Intent(MainActivity.this,ShowActivity.class);
+ intent.putExtra("cityname",dataList.get(i));
+ startActivity(intent);
+ }
+ });
}
diff --git a/app/src/main/java/com/example/citylist/SecondFragment.java b/app/src/main/java/com/example/citylist/SecondFragment.java
new file mode 100644
index 00000000..7cb7500e
--- /dev/null
+++ b/app/src/main/java/com/example/citylist/SecondFragment.java
@@ -0,0 +1,47 @@
+package com.example.citylist;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.example.citylist.databinding.FragmentSecondBinding;
+
+public class SecondFragment extends Fragment {
+
+ private FragmentSecondBinding binding;
+
+ @Override
+ public View onCreateView(
+ LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState
+ ) {
+
+ binding = FragmentSecondBinding.inflate(inflater, container, false);
+ return binding.getRoot();
+
+ }
+
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ binding.buttonSecond.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ NavHostFragment.findNavController(SecondFragment.this)
+ .navigate(R.id.action_SecondFragment_to_FirstFragment);
+ }
+ });
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ binding = null;
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/citylist/ShowActivity.java b/app/src/main/java/com/example/citylist/ShowActivity.java
new file mode 100644
index 00000000..f7b6501b
--- /dev/null
+++ b/app/src/main/java/com/example/citylist/ShowActivity.java
@@ -0,0 +1,33 @@
+package com.example.citylist;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+public class ShowActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_show2);
+ Intent intent=getIntent();
+ String s = intent.getStringExtra("cityname");
+
+ TextView textview = findViewById(R.id.textView);
+ textview.setText(s);
+
+ Button button = findViewById(R.id.button);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Intent intent1 = new Intent(ShowActivity.this,MainActivity.class);
+ startActivity(intent1);
+ finish();
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
old mode 100644
new mode 100755
index 8ba873cd..0be43b84
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -5,7 +5,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- tools:context=".MainActivity">
+ tools:context=".MainActivity"
+ android:id="@+id/main">
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_show2.xml b/app/src/main/res/layout/activity_show2.xml
new file mode 100644
index 00000000..3cb59d4c
--- /dev/null
+++ b/app/src/main/res/layout/activity_show2.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content.xml b/app/src/main/res/layout/content.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/layout/content_show.xml b/app/src/main/res/layout/content_show.xml
new file mode 100644
index 00000000..892eb625
--- /dev/null
+++ b/app/src/main/res/layout/content_show.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_first.xml b/app/src/main/res/layout/fragment_first.xml
new file mode 100644
index 00000000..fb44a3d9
--- /dev/null
+++ b/app/src/main/res/layout/fragment_first.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_second.xml b/app/src/main/res/layout/fragment_second.xml
new file mode 100644
index 00000000..bd905242
--- /dev/null
+++ b/app/src/main/res/layout/fragment_second.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
old mode 100644
new mode 100755
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
new file mode 100644
index 00000000..0331afc9
--- /dev/null
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml
new file mode 100644
index 00000000..22d7f004
--- /dev/null
+++ b/app/src/main/res/values-land/dimens.xml
@@ -0,0 +1,3 @@
+
+ 48dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/values-w1240dp/dimens.xml b/app/src/main/res/values-w1240dp/dimens.xml
new file mode 100644
index 00000000..d73f4a35
--- /dev/null
+++ b/app/src/main/res/values-w1240dp/dimens.xml
@@ -0,0 +1,3 @@
+
+ 200dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values-w600dp/dimens.xml b/app/src/main/res/values-w600dp/dimens.xml
new file mode 100644
index 00000000..22d7f004
--- /dev/null
+++ b/app/src/main/res/values-w600dp/dimens.xml
@@ -0,0 +1,3 @@
+
+ 48dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
old mode 100644
new mode 100755
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..125df871
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,3 @@
+
+ 16dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
old mode 100644
new mode 100755
index 38580a6b..df4592ba
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,12 @@
CityList
+ showActivity
+
+ First Fragment
+ Second Fragment
+ Next
+ Previous
+
+ Hello first fragment
+ Hello second fragment. Arg: %1$s
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
old mode 100644
new mode 100755
index ff224258..844de745
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -13,4 +13,13 @@
- ?attr/colorPrimaryVariant
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/test/java/com/example/citylist/CityListTest.java b/app/src/test/java/com/example/citylist/CityListTest.java
old mode 100644
new mode 100755
diff --git a/app/src/test/java/com/example/citylist/ExampleUnitTest.java b/app/src/test/java/com/example/citylist/ExampleUnitTest.java
old mode 100644
new mode 100755
diff --git a/build.gradle b/build.gradle
old mode 100644
new mode 100755
diff --git a/gradle.properties b/gradle.properties
old mode 100644
new mode 100755
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
old mode 100644
new mode 100755
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
old mode 100644
new mode 100755
diff --git a/gradlew.bat b/gradlew.bat
old mode 100644
new mode 100755
diff --git a/settings.gradle b/settings.gradle
old mode 100644
new mode 100755