package com.stfalcon.frescoimageviewersample.features.main;
import android.content.Context;
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.TextView;
import com.stfalcon.frescoimageviewersample.R;
public class DemoCardFragment extends Fragment
implements View.OnClickListener {
private static final String ARG_ID = "id";
private static final String ARG_TITLE = "title";
private static final String ARG_DESCRIPTION = "description";
private int id;
private String title, description;
private OnActionListener actionListener;
public DemoCardFragment() {
}
public static DemoCardFragment newInstance(int id, String title, String description) {
DemoCardFragment fragment = new DemoCardFragment();
Bundle args = new Bundle();
args.putInt(ARG_ID, id);
args.putString(ARG_TITLE, title);
args.putString(ARG_DESCRIPTION, description);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
this.id = getArguments().getInt(ARG_ID);
this.title = getArguments().getString(ARG_TITLE);
this.description = getArguments().getString(ARG_DESCRIPTION);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_demo_card, container, false);
TextView tvTitle = (TextView) v.findViewById(R.id.tvTitle);
TextView tvDescription = (TextView) v.findViewById(R.id.tvDescription);
Button button = (Button) v.findViewById(R.id.button);
tvTitle.setText(title);
tvDescription.setText(description);
button.setOnClickListener(this);
return v;
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button:
onAction();
break;
}
}
public void onAction() {
if (actionListener != null) {
actionListener.onAction(this.id);
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnActionListener) {
actionListener = (OnActionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnActionListener");
}
}
@Override
public void onDetach() {
super.onDetach();
actionListener = null;
}
public interface OnActionListener {
void onAction(int id);
}
}