Search code examples
buttonandroid-fragmentsgoogle-playrate

Rate us In Android fragment


I'm trying to rewrite this project using fragments. I'm replacing activities with fragments.

This is XML file :

'<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<Button
    android:id="@+id/rate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Rate Us" />

and this is the Full Source Code java:-

'public class MainActivity extends Activity{

Button rate;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    rate=(Button)findViewById(R.id.rate);
    rate.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                Intent intent = new Intent(Intent.ACTION_VIEW);
                 intent.setData(Uri.parse ("market://details?id=APP ID"));
                startActivity(intent);
        }
    });
}}`

what is the java right code for use this in a fragment?

Thanks in advance....


Solution

  • This is how it is done:

    public class MainActivity extends Fragment {
    
    Button rate;
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    
            View rootView = inflater.inflate(R.layout.activity_main, container, false);
    
            rate = (Button) rootView.findViewById(R.id.rate);
            rate.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse ("market://details?id=APP ID"));
                    startActivity(intent);
                }
            });
            return rootView;
        }
    

    There is no need to change anything in the xml file. Hope this helps :)