2016-02-15 3 views
-2

У меня есть способ, который имеет метод, я хотел бы назвать весь метод, включая кнопки и другие объекты findViewById, такие как макеты, я пробовал следующее, но приложение вылетает с runtime/check_jni.. В любом случае ниже код:Звонок активности МЕТОД из другой деятельности

ButtonClass:

public class BottomButtons extends MainActivity { 

ImageButton iconHideView; 
boolean fl; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.class_bottom_buttons); 

} 


public void bottomButtons() { 


    final LinearLayout ll = (LinearLayout)findViewById(R.id.bottomButtons); 
    final ScrollView sv = (ScrollView)findViewById(R.id.L_scrollView); 

    iconHideView = (ImageButton) findViewById(R.id.icnHideView); 
    iconHideView.setImageResource(R.drawable.arrow_down); 
    iconHideView.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

      if (!fl) { 
        ll.animate().translationY(ll.getHeight()).alpha(0.0f).setDuration(1200).setListener(new Animator.AnimatorListener() { 
        @Override 
        public void onAnimationStart(Animator animation) { 

        .... 

MainActivity Класс (и все другие мероприятия):

public class MainActivity extends Activity { 

BottomButtons classBB = new BottomButtons(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    .... 

    classBB.bottomButtons(); 

В основном это LinearLayout View с кнопками, которые я аниматирую, у меня нет проблем с использованием этого метода непосредственно внутри действия, но я бы хотел назвать его (bottomButtons) из всех моих других действий, а не для того, чтобы иметь один и тот же блок кода во всех моя деятельность.

+3

Каждое мероприятие имеет свой собственный макет. Вы не можете взаимодействовать с макетом активности, которая не открыта. Вы можете взаимодействовать только с текущей видимой деятельностью. –

+0

Проверьте это http://stackoverflow.com/questions/19026515/how-to-use-interface-to-communicate-between-two-activities, что вы можете использовать широковещательный приемник или интерфейс. – AndroidRuntimeException

+1

См. [Использование той же кнопки в других классах] (http://stackoverflow.com/a/18964134/1380752) – codeMagic

ответ

1

Для всех экспертов, считавших этот вопрос иррациональным, большое вам спасибо.

Что касается моих нубами, если вы хотели бы использовать одни и те же кнопки на всех мероприятиях, без копирования и вставки же кода, я нашел это решение для работы:

public class MainActivity extends BottomButtons { 
.... 
bottomButtons(); 

Ваш другой деятельности (и все другие действия) должны расширять BottomButtons, тогда вы просто вызываете метод bottomButtons в своих onCreate этих действиях, а затем у вас будет доступ к кнопкам, включая их события onClick.

Смежные вопросы