With my App I have a Picker control (In Fragment) when user click it a new Menu Activity will show with some Items list, When user click on any item the Activity will be finished and the Interface should transfer the chosen Item string to the Picker again in the Fragment,
Here is my Menu Activity :
public class Menu extends AppCompatActivity {
ListView listView;
public interface ItemListener {
void getItem(String s);
}
ItemListener itemListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
// Error Goes Here
itemListener = (ItemListener) this;
// Define and fill the list view
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
itemListener.getItem("Some Item");
finish();
}
});
}
}
And My Fragment :
public class Addorder extends Fragment implements Menu.ItemListener {
Picker picker;
public Addorder() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_addorder, container, false);
picker = (Picker) view.findViewById(R.id.picker);
return view;
}
@Override
public void getItem(String s) {
picker.setChosenItem(s);
}
}
But Im getting Casting error :
Caused by: java.lang.ClassCastException: Menu cannot be cast to Menu$ItemListener
What I'm Dong Wrong, Any help will be much appreciated