У меня другой экран для работы в приложении для Android.
Я использую ViewFlipper для этого.
Я решил использовать разные классы для разных детей зрения
public main extends Activity{
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sign_in);
ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
HomeScreen s = new HomeScreen(getApplicationContext(), getCurrentFocus(), viewFlipper);
}
}
и класс Homescreen: -
public class HomeScreen {
private Button signIn;
private Button createAccount;
private View v;
private Context context;
private ViewFlipper viewflipper;
public HomeScreen(Context context,View v,ViewFlipper viewflipper ) {
this.v=v;
this.context = context;
this.viewflipper = viewflipper;
signIn = (Button) v.findViewById(R.id.button_sign_in_homeScreen);
createAccount = (Button)v.findViewById(R.id.button_createAccount_homeScreen);
signIn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
viewflipper.setDisplayedChild(1);
}
});
}
но это исключение запуска шоу
java.lang.RuntimeException: невозможно запустить действие ComponentInfo
Может кто-нибудь, пожалуйста, помогите мне
getCurrentFocus () является правильным способом получить представление?
То, что я пытаюсь реализовать, это
- Мне нужно использовать другой класс для определения, прослушивания элементов управления каждого дочернего элемента представления flipper
- В приведенном выше примере HomeScreen является одним из моих дочерних экранных флипперов
- Но строка
v.findViewById
показывает ошибку Я думаю, что getCurrentFocus () - неправильный способ отправки представления
Не знаю, правильно ли я двигаюсь? Когда я определяю и слушаю все элементы управления всех потомков viewflipper в классе, где я определяю этот viewflpper, этот класс становится очень большим. Это заставило меня так думать ..
Спасибо ...