2012-04-11 2 views
2

Мне нужно начать новую деятельность, как только пользователь нажмет кнопку, которая отображается в FrameLayout. Он отображает кнопку, которую я хочу, чтобы пользователь щелкнул, но, конечно, сейчас ничего не делается.Начальная деятельность в FrameLayout

Код класса следующий, но я не могу назвать startActivity (намерение).

public class TopBarView extends FrameLayout { 

    private ImageView mLogoImage; 
    private Button mInfoButton; 

    public TopBarView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public TopBarView(Context context) { 
     super(context); 
     init(); 
    } 

    public TopBarView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    private void init() { 
     LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view = inflater.inflate(R.layout.top_bar, null); 

     mLogoImage = (ImageView) view.findViewById(R.id.imageLogo); 
     mInfoButton = (Button) view.findViewById(R.id.infoButton); 

     mInfoButton.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
       // We load & render the view for the information screen 
//    Intent i = new Intent(); 
//    i.setClass(getContext(), MeerActivity.class); 
//    startActivity(i); 
      } 
     }); 

     addView(view); 
    } 
} 

Большое спасибо!

ответ

4

Изменение:

public void onClick(View v) { 
// We load & render the view for the information screen 
//    Intent i = new Intent(); 
//    i.setClass(getContext(), MeerActivity.class); 
//    startActivity(i); 
} 

To:

public void onClick(View v) { 
// We load & render the view for the information screen 
    Intent i = new Intent(); 
    i.setClass(v.getContext(), MeerActivity.class); 
    v.getContext().startActivity(i); 
} 

Примечание: Может быть лучше назначить onclicklistener через деятельность, которую вы используете так в TopBarView немного больше многоразовые в случае, если вы когда-либо хотите использовать в качестве цели нечто другое, кроме MeerActivity. Никакой большой.

+0

благодарит за помощь! – noloman

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