Search code examples
androidandroid-fragmentsandroid-activityfragmentlockscreen

How to make a lock screen button in fragment layout?


I want to made a lock screen Button in a Fragment Layout.
I searched some help and found the same, but made using an Activity.

The code is here: http://karanbalkar.com/2014/01/tutorial-71-implement-lock-screen-in-android/

I don't know how to change it to work in a Fragment?

Please help

My code:

public class Tab1fragment extends Fragment {

/**
 * @param args
 */
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater,
        @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    return inflater.inflate(R.layout.tab1_layout, container, false);
}
public static void main(String[] args) {
    // TODO Auto-generated method stub

}

Solution

  • you have to read more about Fragment: http://developer.android.com/reference/android/app/Fragment.html

    first you have to implement View.OnClickListener in your Fragment, then create a View inside onCreateView like :

    View rootView = inflater.inflate(R.layout. tab1_layout, container, false);
    

    so your fragment became :

    public class Tab1fragment extends Fragment implements View.OnClickListener {
    
    .
    .
    
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
    
    
        View rootView = inflater.inflate(R.layout.tab1_layout, container, false);
        mDevicePolicyManager = ...
        mComponentName = ...
        Button btnEnableAdmin = (Button) rootView.findViewById(R.id.btnEnable);
        .
        .
    
        btnEnableAdmin.setOnClickListener(this);
        .
        .
        return rootView;
    
    }
    
    public void onClick(View v) {
        switch (v.getId()) {
             ...
        }
    }
    
    }
    

    NB: I tested this code on my device