2013-10-20 39 views
0

如果我的按钮的其余部分通过onClickListener链接到网页,我该如何使按钮打开一个活动?将我的主要活动中的第一个按钮链接到网站后,如何将按钮链接到第二个活动?

我去的网页来利用在Eclipse中正确打开:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
     Button b1=(Button)findViewById(R.id.button1); 

    public void onClick(View v) { 
      // TODO Auto-generated method stub 
      sendToCoaches(); 
     } 

    private void sendToCoaches() { 
     // TODO Auto-generated method stub 
      String url = "http://www.signal5crossfit.com/coaches/"; 
      Intent i = new Intent(Intent.ACTION_VIEW); 
      i.setData(android.net.Uri.parse(url)); 
      startActivity(i); 
     } 
}); 

b7.setOnClickListener(new View.OnClickListener(){ 
    @Override 
    public void onClick(View v){ 
    sendToContacts(); 

    } 

    public void sendToContacts() { 

      Intent intent = new Intent(AppActivity.this, App2Activity.class); 
      startActivity(intent); 
      } 
});}} 

我改成第二个例子是您在为包括的onClick在我的xml文件,这是错误我得到。

了java.lang.RuntimeException:无法实例活动ComponentInfo {} com.Signal5.android/com.Signal5.android.App2Activity:显示java.lang.NullPointerException

这是否意味着其指向无处?

+0

检查了这一点:[?我如何添加上一个旁边另一个按钮意图] (http://stackoverflow.com/questions/14534912/how-can-i-add-another-button-intent-beside-previous-one?rq=1) – atomman

回答

0

我猜你在xml布局中使用android:onClick="onClick"

例子:

<Button android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button 1" 
    android:onClick="onClick" /> 

<Button android:id="@+id/button2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button 2" 
    android:onClick="onClick" /> 

您可以检查被点击的视图通过获取其ID:View.getId()

public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.button1: 
     sendToCoaches(); 
     break; 

    case R.id.button2: 
     doSomethingElse(); 
     break; 
    } 
} 

这样做将设置View.OnClickListener为每个按钮的另一种方法:

Button b1 = (Button) findViewById(R.id.button1); 
Button b2 = (Button) findViewById(R.id.button2); 

b1.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v){ 
      sendToCoaches(); 
     } 
}); 

b2.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v){ 
      doSomethingElse(); 
     } 
}); 
+0

你是在谈论manifest.xml还是我的主。 XML(这是我的第一个布局页面)?感谢您的帮助 – user2899066

+0

这里是我编辑它,它仍然崩溃。 – user2899066

+0

你应该编辑自己的问题,而不是我的答案。无论如何,我已经更新了我的答案。 –

相关问题