2013-10-09 2 views
1

В моем приложении у меня есть нижний колонтитул для каждого activity. В основном у меня есть в нижнем колонтитуле, которые получают изображения (добавляет изображения) с Web service и меняют изображения через некоторый промежуток времени (например, сползает). То, что я делаю, заключается в добавлении нижнего колонтитула в каждое действие и вызове веб-службы в каждом действии для загрузки изображений в ImageView (что будет очень тяжелой обработкой для моего приложения, потому что у меня много Java classes(Activities) в моем приложении), так что мой вопрос. .. Есть ли какой-либо способ в android, который я могу добавить нижний колонтитул для всего приложения? например, если я добавлю нижний колонтитул в first activity внизу, теперь, если я перейду к second activity, third activity и т. д .... нижний колонтитул все еще будет там, который я добавил в first activity. (Такой же, как и в iPhone Navigation controller используется)Добавить нижний колонтитул для всего приложения для Android

Заранее спасибо

ответ

2

Создайте свой вид программно, затем сохраните его в одноэлементном объекте, доступ к которому можно получить во всем приложении, это позволит избежать необходимости создавать новый просмотр каждый раз.

Singleton класс Пример:

public class MySingleFooter{ 
MySingleFooter mySingleFooter; 
View myFooter; 

private MySingleFooter(){} 

public static MySingleFooter getInstance() 
{ 
if (mySingleFooter == null) 
    { 
    mySingleFooter = new MySingleFooter(); 
    } 

return mySingleFooter; 
} 

void setFooter(View myFooter) 
{ 
    this.myFooter = myFooter; 
} 

View getFooter() 
{ 
    return myFooter; 
}} 

Вы можете установить колонтитул от всех видов деятельности, как это:

MySingleFooter footerStore = MySingleFooter.getInstance(); footerStore.setFooter(thefooter);

Вы можете получить колонтитул от всех видов деятельности, как это:

MySingleFooter footerStore = MySingleFooter.getInstance(); View myview = footerStore.getFooter(thefooter);

Затем добавьте его в текущую активность программно.

2

Сделать один колонтитула XML-файл, который вы хотите отобразить на всех экранах приложения затем выполните следующие шаги:

Создать один Footer.java активность

public class Footer extends Activity { 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.footer); 
     } 
} 

Затем расширить этот класс в другой класс для использования, как показано ниже:

public class Test extends Footer 
{ 
     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      ViewGroup vg = (ViewGroup) findViewById(R.id.lldata); 
      ViewGroup.inflate(Home.this, R.layout.test, vg); 
     } 
} 
Смежные вопросы