2015-01-21 3 views
0

Я пытаюсь построить функцию, где, если страница длинна, цветная схема изменится на черно-белую на каждой странице приложения. Если страница или другая страница долго нажата, изменения должны быть отменены. Вот пример того, что у меня есть. Если вы хотите увидеть более конкретные фрагменты кода, дайте мне знать.Как правильно получить доступ и изменить другие представления

View sigView; 
View rootView; 
View tunerView; 
public boolean pm; 
public SharedPreferences sharedPreferences; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    sigView = inflater.inflate(R.layout.time_sig, container,false); 
    rootView=inflater.inflate(R.layout.activity_metronome,container); 
    tunerView=inflater.inflate(R.layout.activity_tuner,container); 

    final TextView tvTempo=(TextView) rootView.findViewById(R.id.metro_disp); 
    final TextView NumView = (TextView) sigView.findViewById(R.id.Sig_Num); 
    final TextView tv_note=(TextView) tunerView.findViewById(R.id.tv_note);   
    final ImageView time_sig_bar= ImageView)sigView.findViewById(R.id.time_sig_bar); 

    //**Lots more lines just like above for other elements 

time_sig_bar.setOnLongClickListener(new View.OnLongClickListener() { 
     @Override 
     public boolean onLongClick(View view) { 
      if (!pm) { 
       rootView.setBackgroundColor(Color.BLACK); 
       //**Code to run 

       pm=true; 
       sharedPreferences.edit().putBoolean("pm",pm).apply(); 
      } else{ 
       rootView.setBackgroundColor(Color.TRANSPARENT); 
      //**More code to run 

       pm=false; 
       sharedPreferences.edit().putBoolean("pm",pm).apply(); 
      } 
//**code is copied for other elements to respond to longclick 

Я скопировал и вставил этот код на другие страницы (с небольшими изменениями). На одной из других страниц элементы на этой странице меняются, но на других страницах они не будут меняться. Кроме того, я не знаю, как настроить его, чтобы цвет изменился с другой страницы. Любые идеи, что я делаю неправильно? Спасибо за помощь.

ответ

0

Возможно, у вас есть новый класс, который содержит данные состояния для ваших просмотров. Истинно, если longclicked, false в противном случае. Тогда вы можете установить состояние на longlick на то, что состояние в данный момент отсутствует

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

  • Нет связанных вопросов^_^