HI I'm making GymExercises App and every Exercise is written in different Fragment
so i want to add Video to show how exercise to do,it compiles but doesn't show anything can someone help me ?
PS i don't need play,stop button and anything other just to show the video
Here is the code that i add
Example:
BenchFragment.java
package com.Hristijan.Aleksandar.GymAssistant.Exercises;
import android.media.session.MediaController;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.VideoView;
import java.net.URL;
/**
* A simple {#link Fragment} subclass.
*/
public class BenchFragment extends Fragment {
public BenchFragment() {
// Required empty public constructor
}
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_bench, container, false);
VideoView view = (VideoView)rootView.findViewById(R.id.video_view);
String path = "android.resource://" + getActivity().getPackageName() + "/" + R.raw.bench1;
view.setVideoURI(Uri.parse(path));
view.start();
return inflater.inflate(R.layout.fragment_bench, container, false);
}
}
fragment_bench.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000000"
tools:context="com.Hristijan.Aleksandar.GymAssistant.Exercises.BenchFragment">
<VideoView
android:id="#+id/video_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
/>
<TableLayout
android:layout_marginTop="20dp"
android:layout_below="#+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shrinkColumns="*">
<TableRow>
<TextView
android:text="#string/group"
android:background="#color/colorPrimary"
android:layout_width="500dp"
android:textColor="#ffffff"
android:textStyle="italic"
android:fontFamily="Arial"
android:textSize="17sp"
android:padding="5dip" />
</TableRow>
<TableRow>
<TextView
android:text="#string/bencbody"
android:textStyle="italic"
android:fontFamily="Arial"
android:textSize="17sp"
android:textColor="#ffffff"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:text="#string/description"
android:textStyle="italic"
android:fontFamily="Arial"
android:textSize="19sp"
android:background="#color/colorPrimary"
android:textColor="#ffffff"
android:padding="5dip" />
</TableRow>
<TableRow>
<TextView
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:fontFamily="Arial"
android:gravity="left"
android:layout_marginTop="5dp"
android:text="#string/stepone"
android:textColor="#android:color/white"
android:textSize="15sp"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:fontFamily="Arial"
android:layout_marginTop="5dp"
android:gravity="left"
android:text="#string/steptwo"
android:textColor="#android:color/white"
android:textSize="16sp"
android:padding="3dip" />
</TableRow>
</TableLayout>
</RelativeLayout>
Related
I've been trying to create a calculator app which uses Navigation Drawer. I've 6 fragments and each fragments have EditTexts for getting inputs from user.
But when I ran the app and type some values inside EditText (any fragments doesn't matter) and change the fragment and return to previous fragment where I entered a value before, the entered value is gone and restores default value.
How can I manage this problem?
MainActivity.java
package com.example.testnavigation;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import android.view.MenuItem;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.core.view.GravityCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import com.google.android.material.navigation.NavigationView;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
public class MainActivity extends AppCompatActivity implements MyListener{
private AppBarConfiguration mAppBarConfiguration;
#Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_gubreler, R.id.nav_sonuc, R.id.nav_hedef, R.id.nav_oranlar, R.id.nav_tankbilgileri, R.id.nav_cevirme)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
}
#Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
#Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
}
TankBilgileriFragment
package com.example.testnavigation;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
public class TankBilgileriFragment extends Fragment {
EditText tet1, tet2;
double tet1v, tet2v;
#Nullable
#Override
public View onCreateView(#NonNull LayoutInflater inflater, #Nullable ViewGroup container, #Nullable Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.fragment_tankbilgileri, container, false);
tet1=(EditText) v.findViewById(R.id.tet1); tet1v=Double.parseDouble(tet1.getText().toString()); tet2=(EditText) v.findViewById(R.id.tet2); double tet2v=Double.parseDouble(tet2.getText().toString());
return v;
}
}
GubrelerFragment
package com.example.testnavigation;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import java.text.DecimalFormat;
public class GubrelerFragment extends Fragment{
Button gbtnSifirla, gbtnHesapla, gbtnKaydet;
EditText get1, get2, get3, get4, get5, get6, get7, get8, get9, get10, get11, get12, get13, get14, get15, get16;
#Nullable
#Override
public View onCreateView(#NonNull LayoutInflater inflater, #Nullable ViewGroup container, #Nullable Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.fragment_gubreler, container, false);
gbtnHesapla=(Button) v.findViewById(R.id.gbtnHesapla); gbtnSifirla=(Button) v.findViewById(R.id.gbtnSifirla); gbtnKaydet=(Button) v.findViewById(R.id.gbtnKaydet);
get1=(EditText) v.findViewById(R.id.get1); get2=(EditText) v.findViewById(R.id.get2); get3=(EditText) v.findViewById(R.id.get3); get4=(EditText) v.findViewById(R.id.get4); get5=(EditText) v.findViewById(R.id.get5);
get6=(EditText) v.findViewById(R.id.get6); get7=(EditText) v.findViewById(R.id.get7); get8=(EditText) v.findViewById(R.id.get8); get9=(EditText) v.findViewById(R.id.get9); get10=(EditText) v.findViewById(R.id.get10);
get11=(EditText) v.findViewById(R.id.get11); get12=(EditText) v.findViewById(R.id.get12); get13=(EditText) v.findViewById(R.id.get13); get14=(EditText) v.findViewById(R.id.get14); get15=(EditText) v.findViewById(R.id.get15);
get16=(EditText) v.findViewById(R.id.get16);
return v;
}
#Override
public void onActivityCreated(#Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState!=null){
get1.setText(savedInstanceState.getString("key1"));}
}
#Override
public void onSaveInstanceState(#NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key1",get1.getText().toString());
}
}
fragment_gubreler.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:columnCount="3"
android:layout_marginLeft="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/kalnit"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="L"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="L"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/potnit"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="string/potsul"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/potklr"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/mkp"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/magnit"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/magsul"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/fasit"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="L"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Peters Professional 10-52-10:"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Peters Professional 30-10-10:"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/fe"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="kg"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="kg"
android:textSize="20sp"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/bor"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="g"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="g"
android:textSize="20sp"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/mn"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="g"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="g"
android:textSize="20sp"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/zn"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="g"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="g"
android:textSize="20sp"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/cu"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="g"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="g"
android:textSize="20sp"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/mo"
android:textSize="20sp"></TextView>
<EditText
android:id="#+id/get16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="60dp"
android:layout_marginLeft="10dp"
android:hint="g"
android:inputType="numberDecimal"
android:gravity="center"
android:textSize="20sp"></EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="g"
android:textSize="20sp"></TextView> </GridLayout> </LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="#+id/gbtnSifirla"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/sfr"></Button>
<Button
android:id="#+id/gbtnHesapla"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/hesap"></Button>
<Button
android:id="#+id/gbtnKaydet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/kaydet"></Button> </LinearLayout>
</LinearLayout>
</RelativeLayout>
</ScrollView>
You need to learn about "saveInstance"
#Override public void onSaveInstanceState(Bundle outState)
{ super.onSaveInstanceState(outState);
outState.putString("dataGotFromServer", dataGotFromServer);
}
#Override public void onActivityCreated(Bundle savedInstanceState)
{ super.onActivityCreated(savedInstanceState);
dataGotFromServer = savedInstanceState.getString("dataGotFromServer");
}
I managed my problem with SharedPreferences. I added a button in my Fragment and onClick method to save values with SharedPreferences and restored values inside onCreateView (before return v;) so even I close the app or change any other fragment values still remain.
I have an activity and when I click on the "Register" TextView a fragment will open and in that fragment all the Registration detail is there.But when I click on the textview the Fragment is loaded successfully but it did'nt cover up the entire screen.
Here is my code:
MainActivity.java
Register.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View view) {
android.support.v4.app.FragmentManager fragmentManager=getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
Fragments fragments=new Fragments();
fragmentTransaction.replace(R.id.Fragment_Register,fragments);
fragmentTransaction.commit();
fragmentTransaction.addToBackStack(null);
}
});
}
MainActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.user.attendance.MainActivity"
android:background="#drawable/blurbackgound"
android:padding="10dp"
android:focusableInTouchMode="true"
>
<TextView
android:id="#+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:text="WELCOME"
android:textColor="#color/white"
android:textStyle="bold"
android:fontFamily="monospace"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"/>
<EditText
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="#id/title"
android:id="#+id/login_mobile_number"
android:layout_centerHorizontal="true"
android:layout_marginTop="65dp"
android:background="#drawable/edit_text_border"
android:padding="15dp"
android:textColor="#color/white"
android:inputType="number"
android:hint="Enter mobile number"
android:gravity="center"
android:maxLength="10"
android:textColorHint="#color/hint_color"
/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="#drawable/ic_local_phone_black_24dp"
android:layout_below="#id/title"
android:layout_marginLeft="30dp"
android:layout_marginTop="73dp"
android:id="#+id/phonelogo"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/mb_counter"
android:layout_below="#id/title"
android:layout_marginLeft="300dp"
android:layout_alignBaseline="#id/login_mobile_number"
android:text="abssh"
android:textColor="#color/white"
/>
<EditText
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="#id/login_mobile_number"
android:layout_marginTop="25dp"
android:background="#drawable/edit_text_border"
android:paddingRight="50dp"
android:hint="Password"
android:gravity="center"
android:textColorHint="#color/hint_color"
android:inputType="textPassword"
android:textColor="#color/white"
android:id="#+id/login_password"
/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_margin="1dp"
android:layout_below="#id/login_password"
android:orientation="horizontal"
>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="#color/white"
android:text="Student"
android:textColor="#color/white"
android:id="#+id/Radio_button_student"
android:layout_marginLeft="19dp"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:buttonTint="#color/white"
android:text="Teacher"
android:textColor="#color/white"
android:id="#+id/Radio_button_teacher"/>
</RadioGroup>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SHOW"
android:textColor="#color/white"
android:textStyle="bold"
android:layout_alignRight="#id/login_password"
android:layout_alignBaseline="#id/login_password"
android:id="#+id/password_visibility"
android:layout_marginRight="10dp"
/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="#drawable/ic_lock_outline_black_50dp"
android:layout_marginLeft="30dp"
android:layout_below="#id/phonelogo"
android:layout_marginTop="39dp"
/>
<Button
android:stateListAnimator="#null"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:hint="Login"
android:id="#+id/login"
android:background="#drawable/login_buttom"
android:textColorHint="#color/hint_color"
android:layout_below="#id/login_password"
android:layout_marginTop="50dp"
android:layout_marginLeft="35dp"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FORGOT PASSWORD"
android:textColor="#color/white"
android:layout_below="#id/login"
android:layout_marginTop="18dp"
android:layout_marginLeft="48dp"
android:id="#+id/forgot_password"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="|"
android:textColor="#color/white"
android:layout_alignBaseline="#id/forgot_password"
android:layout_marginLeft="170dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="REGISTER"
android:textColor="#color/white"
android:layout_below="#id/login"
android:layout_marginLeft="185dp"
android:layout_marginTop="20dp"
android:id="#+id/Register"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="#+id/Fragment_Register"></RelativeLayout>
</RelativeLayout>
Fragments.java
package com.example.user.attendance;
import android.app.FragmentManager;
import android.text.Editable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import de.hdodenhof.circleimageview.CircleImageView;
public class Fragments extends Fragment {
Button Register_Cancel_fullname, Register_Cancel_email, Register_Cancel_phone,
Register_Cancel_password, Sign_up,Register_Cancel_Confirm_Password;
String Passcode,Confirm_Passcode;
EditText Full_Name, Email_Address, Phone_number, Password_register,Confirm_Password_register;
CircleImageView Register_add_photo;
LinearLayout select_photo_from_camera,select_photo_from_gallery;
TextView textView,hint_textview_circular_image_view;
// RadioButton Category_teacher,Category_student;
RadioGroup Teacher_student;
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View myfragmentVieew = inflater.inflate(R.layout.fragment_signup, container, false);
//Edit Text
Full_Name = (EditText) myfragmentVieew.findViewById(R.id.Register_name_and_surname);
Email_Address = (EditText) myfragmentVieew.findViewById(R.id.Register_Email_address);
Phone_number = (EditText) myfragmentVieew.findViewById(R.id.Register_Phone);
Password_register = (EditText) myfragmentVieew.findViewById(R.id.Register_Password);
Confirm_Password_register=(EditText)myfragmentVieew.findViewById(R.id
.Confirm_Password_Register);
//Button
Sign_up = (Button) myfragmentVieew.findViewById(R.id.Register_Signup);
Register_Cancel_fullname = (Button) myfragmentVieew.findViewById(R.id.Register_First_Cancel_Button);
Register_Cancel_email = (Button) myfragmentVieew.findViewById(R.id.Register_Second_Cancel_Button);
Register_Cancel_phone = (Button) myfragmentVieew.findViewById(R.id.Register_Third_Cancel_Button);
Register_Cancel_password = (Button) myfragmentVieew.findViewById(R.id.Register_fourth_Cancel_Button);
Register_Cancel_Confirm_Password=(Button)myfragmentVieew.findViewById(R.id
.Register_Cancel_Confirm_Password_Button);
Register_add_photo=(CircleImageView)myfragmentVieew.findViewById(R.id.Register_add_photo);
//TextView
textView = (TextView) myfragmentVieew.findViewById(R.id.Register_textview);
hint_textview_circular_image_view=(TextView)myfragmentVieew.findViewById(R.id
.hint_of_image_view);
return myfragmentVieew;
}
}
Here is what I am getting:
Remove this line from root layout.
android:padding="10dp"
This will solve the problem.
I want to "remake" my app.
I already write an app and it works OK. But, it use Activity and Spinner to switch between screens - that is too uncomfortable and slow.
I here find an example of Fragment usage for user-comfortable usage and fast switching beetween screens with swiping:
http://www.theappguruz.com/blog/android-tab-layout-with-swipeable-views
But I cant set RelativeLayout for it from my app, because it use Fragment.
Is there a way to "copy-paste" the markup file (*.xml) without making fundamental changes in the application?
I tried to do it (the commented line of code), but it does not work.
FirstTab.java
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
public class FirstTab extends Fragment {
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
/*View view=inflater.inflate(R.layout.tab_first, container, false);
Button imageView = (Button) getView().findViewById(R.id.btn_quit);
return view;*/
TextView tv = new TextView(getActivity());
tv.setText("First Tab");
tv.setGravity(Gravity.CENTER);
tv.setTextColor(Color.WHITE);
tv.setWidth(LayoutParams.MATCH_PARENT);
tv.setHeight(LayoutParams.MATCH_PARENT);
tv.setBackgroundColor(Color.RED);
tv.setTextAppearance(getActivity(),android.R.style.TextAppearance_Large);
return tv;
}
}
first_tab.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:paddingBottom="5sp"
android:paddingTop="5sp"
android:paddingRight="5sp"
android:paddingLeft="5sp"
android:background="#color/colorPrimary">
<Spinner
android:entries="#array/activity_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/spinner"
android:layout_alignRight="#+id/view1"
android:layout_alignEnd="#+id/view1"
android:layout_toRightOf="#+id/btn_quit"
android:layout_toEndOf="#+id/btn_quit"
android:layout_alignBottom="#+id/btn_quit"
android:layout_alignParentTop="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Close\napp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="#+id/btn_quit"
android:onClick="quit"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<View
android:layout_width="fill_parent"
android:layout_height="5dp"
android:background="#android:color/holo_orange_light"
android:id="#+id/view1"
android:layout_below="#+id/btn_quit"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/eng_text"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="#android:color/white"
android:hint="Enter text"
android:minLines="1"
android:layout_below="#+id/view1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:inputType="textCapSentences|textAutoCorrect|textMultiLine"
android:maxLines="7"/>
<View
android:layout_width="fill_parent"
android:layout_height="5dp"
android:background="#android:color/holo_orange_light"
android:id="#+id/view"
android:layout_below="#+id/eng_text"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/morse_text"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="#android:color/white"
android:hint="Get a code"
android:minLines="1"
android:layout_below="#+id/view"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:inputType="textCapSentences|textAutoCorrect|textMultiLine"
android:maxLines="8" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Translate"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="#+id/trans_btn"
android:layout_above="#+id/btn_sound"
android:layout_centerHorizontal="true"
android:layout_alignParentRight="true"
android:onClick="translate"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left|bottom"
android:text="Play\ncode:"
android:id="#+id/play_label"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="#+id/trans_btn"
android:layout_toLeftOf="#+id/btn_sound"
android:layout_toStartOf="#+id/btn_sound" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/btn_sound"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="#+id/btn_flash"
android:layout_toStartOf="#+id/btn_flash"
android:padding="2dp"
android:onClick="play_sound"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/btn_flash"
android:layout_alignParentBottom="true"
android:layout_alignRight="#+id/view"
android:layout_alignEnd="#+id/view"
android:padding="2dp"
android:onClick="play_flash"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Current input\nlanguage:"
android:id="#+id/cur_lang"
android:layout_alignTop="#+id/trans_btn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/btn_flag"
android:layout_alignTop="#+id/cur_lang"
android:layout_toRightOf="#+id/cur_lang"
android:layout_toEndOf="#+id/cur_lang"
android:enabled="false"/>
</RelativeLayout>
You want to convert your whole three activities to fit into a single page using view pager
Make a new Activity with root tag a android.supprot.v4.ViewPager
Set up the adapter and all the other things
In your first tab use the following code
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.tab_first, container, false);
Button button = (Button)view.findViewById(R.id.btn_quit);
button.setText("Working quit");
return view;
}
use view to access any of the elements of first_tab
package com.example.layout.layout;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.HashMap;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.view.View.OnClickListener;
import org.w3c.dom.Text;
/**
* A placeholder fragment containing a simple view.
*/
public class MovieInfoFile extends Fragment {
public static final String ARG_OPTION="argument_option";
HashMap[]items=new HashMap[30];
int i;
public ImageView image;
TextView name;
TextView des;
TextView stars;
TextView year;
TextView rating;
public static MovieInfoFile newInstance(int option)
{
MovieInfoFile fragment=new MovieInfoFile();
Bundle args=new Bundle();
args.putInt(ARG_OPTION,option);
fragment.setArguments(args);
return fragment;
}
public MovieInfoFile() {
}
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.movieinfolayout, container, false);
Button loadnext=(Button) view.findViewById(R.id.next);
image=(ImageView) view.findViewById((R.id.image1));
name=(TextView) view.findViewById(R.id.nameans);
des=(TextView) view.findViewById(R.id.desans);
stars=(TextView) view.findViewById(R.id.starans);
year=(TextView) view.findViewById(R.id.yearans);
rating=(TextView) view.findViewById(R.id.ratingans);
enter code hereView.OnClickListener aButtonChangeImageListener=new OnClickListener() {
#Override
public void onClick(View v) {
if(v.getId()==R.id.next)
{
int id=(Integer)items[1].get("image");
image.setImageResource(id);
}
}
};
return view;
}
}
Here is the layout (XML file)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="#drawable/baground"
android:weightSum="1">
<ImageView
android:layout_width="315dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:src="#drawable/avatar"
android:id="#+id/image1"
android:layout_weight="0.53" />
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:layout_gravity="center_horizontal"
android:id="#+id/table1">
<TableRow>
<TextView
android:text="Movie Name: "
android:textStyle="bold"
android:id="#+id/name"
/>
<TextView
android:text="Movie Name: "
android:textStyle="bold"
android:id="#+id/nameans"
/>
</TableRow>
<TableRow>
<TextView
android:text="Description: "
android:textStyle="bold"
android:id="#+id/des"
/>
<TextView
android:text="Description: "
android:textStyle="bold"
android:id="#+id/desans"
/>
</TableRow>
<TableRow>
<TextView
android:text="Stars "
android:textStyle="bold"
android:id="#+id/star"
/>
<TextView
android:text="Stars "
android:textStyle="bold"
android:id="#+id/starans"
/>
</TableRow>
<TableRow>
<TextView
android:text="Year"
android:textStyle="bold"
android:id="#+id/year"
/>
<TextView
android:text="Year"
android:textStyle="bold"
android:id="#+id/yearans"
/>
</TableRow>
<TableRow>
<TextView
android:text="Rating"
android:textStyle="bold"
android:id="#+id/rating"
/>
<TextView
android:text="Rating"
android:textStyle="bold"
android:id="#+id/ratingans"
/>
</TableRow>
</TableLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LoadPrev"
android:id="#+id/prev"
android:layout_gravity="center_horizontal" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loadnext"
android:layout_gravity="center_horizontal"
android:id="#+id/next"/>
</LinearLayout>
I am trying to change the image view dynamically on a button click inside a fragment. But when i do this, it is giving me error, "Unfortunately your app has stopped".Can any one help me in this and tell me the right way of modifying views dynamically on a button click with in a fragment.
for the button load next(i guess after clicking this image should change), So pass aButtonChangeImageListener to the Button loadNext like this:
loadNext.setOnClickListener(aButtonChangeImageListener);
before return view line
I want to use a few Button, Spinner and TextView on fragmets but i don't know how to do that since i was newbie in android programming.
I'd appreciate any help! Thanks a lot!
here's my java activity
package com.elvis.triagetags;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class formActivity extends Fragment {
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.form, container, false);
return rootView;
}
}
and this my form.layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<ScrollView
android:id="#+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="#+id/relativeLayout1"
android:layout_alignParentTop="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="428dp"
android:orientation="vertical"
android:padding="15dp" >
<TextView
android:id="#+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="#string/header"
android:textSize="25sp" />
<TextView
android:id="#+id/fullname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="#string/fullname"
android:textColor="#0000CD"
android:textSize="21sp" />
<EditText
android:id="#+id/etIden"
android:layout_width="284dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="21sp" />
<TextView
android:id="#+id/Gen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="#string/gen"
android:textColor="#0000CD"
android:textSize="21sp" />
<Spinner
android:id="#+id/spinGen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#android:drawable/btn_dropdown" />
<TextView
android:id="#+id/tvdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="#string/date"
android:textColor="#0000CD"
android:textSize="21sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="#+id/etdate"
android:layout_width="0.99dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#android:drawable/editbox_background"
android:ems="10"
android:inputType="date" >
</EditText>
<Button
android:id="#+id/btnDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#drawable/wp_button"
android:text="#string/date1" />
</LinearLayout>
<ImageView
android:id="#+id/imageView1"
android:layout_width="148dp"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_marginTop="25dp"
android:layout_weight="0.87"
android:contentDescription="#string/pop"
android:src="#drawable/no_image" />
<TextView
android:id="#+id/imageDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="#string/urlImage"
android:textColor="#000000"
android:textSize="14sp"
android:textStyle="italic"
android:typeface="serif" />
<Button
android:id="#+id/capture_button"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#drawable/wp_button"
android:text="#string/capture" />
<Button
android:id="#+id/next_button"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="25dp"
android:background="#drawable/wp_button"
android:text="#string/bt" />
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="#+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="#000000"
android:gravity="center" >
<TextView
android:id="#+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#string/elvis"
android:textColor="#ffffff"
android:textSize="16sp" />
</RelativeLayout>
This is a small example to show you how to do:
package com.elvis.triagetags;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Spinner;
public class formActivity extends Fragment {
Button btnDate;
Button btnCapture;
Spinner spinGen;
#Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.form, container, false);
btnCapture = (Button) rootView.findViewById(R.id.capture_button);
btnDate = (Button) rootView.findViewById(R.id.btnDate);
spinGen = (Spinner) rootView.findViewById(R.id.spinGen);
spinGen.setOnItemSelectedListener(new SpinnerGen());
btnDate.setOnClickListener(new View.OnClickListener() {
#Override
public void onClick(View v) {
//...
}
});
//...
return rootView;
}
}
public class SpinnerGen implements OnItemSelectedListener {
#Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//...
}
#Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
// TODO Auto-generated method stub
}
follow this link, you will find a good example