Android: как установить контекст для представления в макете XML? - PullRequest
3 голосов
/ 14 сентября 2010

Я использую WebView в ActivityGroup, и он выдаст исключение, если WebView покажет диалог и будет недействительным. Но все в порядке, если я установлю контекст WebView на активность TOP. Поэтому я хочу знать, как установить контекст в макете XML?

Ответы [ 2 ]

2 голосов
/ 19 октября 2010

Вы можете использовать layoutinflater для достижения этой цели:

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.yourLayoutName, null);
this.theSpinner = (Spinner) viewToLoad.findViewById(R.id.Spinny);
this.setContentView(viewToLoad );

Надеюсь, что это поможет.для диалога вы можете просто изменить контекст с this на

this.getParent()
0 голосов
/ 14 сентября 2010

Итак, я хочу знать, как установить контекст в макете XML?

Это невозможно. Хотя у меня есть некоторый опыт работы с ActivityGroup, поэтому я знаю, как решить эту проблему:

// in your ActivityGroup...
public class YourActivityGroup extends ActivityGroup{
    public static YourActivityGroup self;
    public YourActivityGroup(){
        self = this;
        // the rest of your code here
    }
}

Затем, когда вам нужен контекст, чтобы показать диалог или тост или что-то еще, вы используете YourActivityGroup.self.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...