1

我是新来的,所以如果这个问题有点微不足道,我深表歉意!

我正在尝试设置一个可单击ImageView以链接到一个网站,并且在我的 上出现语法错误,setOnClickListener我无法弄清楚。我敢肯定这是一个直截了当的错误,但如果有人能指出我正确的方向,将不胜感激!

下面是我的代码:

public class VideoActivity extends Activity {
    ImageView blipImg = (ImageView)findViewById(R.id.videoBlip);
    blipImg.setOnClickListener = (new View.OnClickListener(){
        public void onClick(View v){
             Intent intent = new Intent();
             intent.setAction(Intent.ACTION_VIEW);
             intent.addCategory(Intent.CATEGORY_BROWSABLE);
             intent.setData(Uri.parse("http://blip.tv"));
            startActivity(intent);
        }
    });
}
4

7 回答 7

2

改成

  blipImg.setOnClickListener(new View.OnClickListener(){ // remove =

并添加@Override 注解

blipImg.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://blip.tv"));
        startActivity(intent);
        }
   });

并将代码移至onCreate如下

public class VideoActivity extends Activity {
ImageView blipImg;
@Override
protected void onCreate(Bundle savedInstanceState) 
{
   super.onCreate(savedInstanceState);
   setContentView(R.layout.yourlayout);
   blipImg = (ImageView)findViewById(R.id.videoBlip);
   blipImg.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://blip.tv"));
        startActivity(intent);
        }
   });
 }
}
于 2013-11-13T11:32:46.510 回答
2

您的代码应该在方法主体中,例如onCreate(),而不是在类主体中。

还要删除=after setOnClickListener

例子:

public class VideoActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstance) {
    super.onCreate(savedInstance);

    setContentView(R.layout.some_layout_that_contains_videoBlip);

    ImageView blipImg = (ImageView)findViewById(R.id.videoBlip);
    blipImg.setOnClickListener(new View.OnClickListener(){
      public void onClick(View v){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://blip.tv"));
        startActivity(intent);
      }
    });
  }
}
于 2013-11-13T11:33:17.623 回答
0

做这个 :

blipImg.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.addCategory(Intent.CATEGORY_BROWSABLE);
    intent.setData(Uri.parse("http://blip.tv"));
    startActivity(intent);
}
});
于 2013-11-13T11:32:31.413 回答
0

使用这个“=”符号不会进入 setonclicklistener

    public class VideoActivity extends Activity {
ImageView blipImg = (ImageView)findViewById(R.id.videoBlip);
blipImg.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://blip.tv"));
        startActivity(intent);
    }
});
}
于 2013-11-13T11:33:05.550 回答
0

用这个替换你的代码

blipImg.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://blip.tv"));
        startActivity(intent);
    }
});
于 2013-11-13T11:33:20.153 回答
0

将您的代码放入onCreate方法中。然后setcontentview执行这些步骤。因为一个java类应该只有变量和方法,所有的定义都应该在一个方法中。

public class VideoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.your_layout); //your layout which contains imageview with id R.id.videoBlip
   ImageView blipImg = (ImageView)findViewById(R.id.videoBlip);
   blipImg.setOnClickListener (new View.OnClickListener(){ //remove = symbol
      public void onClick(View v){
         Intent intent = new Intent();
         intent.setAction(Intent.ACTION_VIEW);
         intent.addCategory(Intent.CATEGORY_BROWSABLE);
         intent.setData(Uri.parse("http://blip.tv"));
         startActivity(intent);
      } 
   });
}
}

我希望这能帮到您。

于 2013-11-13T11:34:23.473 回答
0

请在您的代码中删除“=”并尝试此操作

public class VideoActivity extends Activity {
  @Override
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);

setContentView(R.layout.yourlayout);

ImageView blipImg = (ImageView)findViewById(R.id.videoBlip);
blipImg.setOnClickListener(new View.OnClickListener(){
  public void onClick(View v){
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.addCategory(Intent.CATEGORY_BROWSABLE);
    intent.setData(Uri.parse("http://blip.tv"));
    startActivity(intent);
  }
});

} }

于 2013-11-13T11:39:04.847 回答