2010-10-19 3 views
0

Я не слишком разбираюсь в android, и я просто использую TabActivity, поэтому, пожалуйста, несите меня. я продолжаю видеть сообщение о том, что не использовал активности в Tabhost, но просмотрел. и я не уверен, что это, и если это причина моей последней головной боли? У меня есть код с 4 вкладками, как это:Небольшое недоразумение с tabActivity, представлениями и действиями

// Category TabActivity class 
    tab.setContent(new Intent(this, Mylist.class)); 
    tab1.setContent(new Intent(this, Mylist.class)); 
    tab2.setContent(new Intent(this, Mylist.class)); 

и каждая вкладка показывает результат метода в MyList деятельности.

  1. - это то, что, используя активность на вкладке или отображая представление? какая разница?.

  2. У меня есть контекстное меню для элемента, выбранного в действии Mylist, который обновляет список. как я могу отразить изменения в списке на вкладке в другой, чтобы отобразить этот конкретный метод в классе Mylist, который был задан как содержимое вкладки. очевидно, это изменится, если я обновил или удалил элемент из списка, когда отображается вкладка. я думаю, что это возможно с onResume(), но не знаю, что назвать там или есть лучший способ?

    в MyList классе, я попробовал этот маленький кусочек кода, чтобы перезапустить TabActivity:

    myAdapter.deleteItem (ID);

     fillData(); // 
        Intent refereshCategory = new Intent(this, Category.class); 
         startActivity(refereshCategory); 
    

его перезапуском активность после пункта были удалены, но как я могу только показать вкладку, чья точка зрения была в центре внимания, когда он перезагружается и я не хочу fillData() метод, чтобы показать поскольку это не связано с вкладками. Надеюсь, я сделал себе достаточно ясно. Спасибо

Любая помощь будет принята с благодарностью. Спасибо за ваше время.

+0

я могу быть в состоянии помогите больше, если я понял, чего вы пытаетесь достичь. Из того, что я прочитал, я думаю, что вы просто хотите удалить элемент из списка, а затем показать список без удаленного элемента. Я исправляю или ухожу с базы? –

+0

да .. что-то в этом роде. но вместо этого на разных вкладках отображается элемент, связанный с ним. например, если на вкладке есть тэг «shopping», вкладка должна показывать только элементы в списке, которые связаны с покупками, и так далее. это может быть получено из разных методов в основном классе списка, но моя проблема заключается в том, что когда я удаляю элемент и вызываю список для его обновления, на вкладке отображаются все элементы в списке, а не конкретные элементы, связанные с ним. – irobotxxx

ответ

0

С помощью tab.setContent(new Intent(this, Mylist.class)); Вы сообщаете приложению, чтобы отобразить на этой вкладке новую операцию MyList.

Я не уверен в жизненном цикле деятельности для вкладок, но считаю, что можно с уверенностью утверждать, что они соответствуют тем же стандартам, что и обычные действия. onResume вызывается каждый раз, когда отображается действие (которое включает в себя переход от активности другой вкладки к этой активности). Таким образом, любой вид обновления вы хотите сделать в список каждый раз, когда это показано должно идти здесь, а не в onCreate(Bundle savedInstanceState)

Чтобы создать любое приложение для Android, вы должны ознакомиться с Component Lifecycle

+0

ОК, спасибо. поэтому это означает, что он не отображает представление. как я могу отобразить представление. а также, я просто вызываю запрошенный метод снова в onResume ?. он, похоже, не работает или мне нужно написать этот маленький кусок кода снова в onResume, чтобы он мог получить свежий дисплей? извините за все вопросы .. Спасибо – irobotxxx

+0

Я отредактировал мой вопрос .. см. выше – irobotxxx

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