Я создаю приложение-генератор мемов. Имеет 2 fragments
.
1-й фрагмент имеет 2 TextViews
и an ImageView
ниже.
2-й фрагмент имеет 2 EditTexts
и 2 Buttons
.
ImageView в первом фрагменте, который можно кликнуть, содержит изображение-заполнитель.
1 - Я хочу изменить видимость упомянутых видов во 2-м фрагменте на gone
, если другое изображение не выбрано
2- Я хочу сделать это, проверив имя файла для рисования.
Мне сказали, что я должен использовать интерфейс для этого.
Как использовать интерфейс для выполнения заказов?
Вот пример интерфейса, который я использовал в том же приложении. Я хотел бы знать, что делать по-другому.
public class BottomControlsFragment extends Fragment {
EditText topEditText, bottomEditText;
Button btnCreate, btnReset;
BottomControlsListener activityCommander;
public interface BottomControlsListener{ void createMeme(String top, String bottom);}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try{activityCommander = (BottomControlsListener) context;}
catch (ClassCastException e){throw new ClassCastException(context.toString());}
}
public class MainActivity extends AppCompatActivity implements BottomControlsFragment.BottomControlsListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void createMeme(String top, String bottom) {
TopImageFragment topImageFragment = (TopImageFragment)getSupportFragmentManager().findFragmentById(R.id.fragment1);
topImageFragment.setMemeText(top, bottom);
}
}
public class TopImageFragment extends Fragment {
...
public void setMemeText(String top, String bottom){
topTextView.setText(top);
bottomTextView.setText(bottom);
}
...
}