setOnClickListener语法错误

时间:2013-11-13 11:31:09

标签: java android syntax-error

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

我正在尝试设置一个可点击的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);
        }
    });
}

7 个答案:

答案 0 :(得分: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);
        }
   });
 }
}

答案 1 :(得分:2)

您的代码应位于方法体中,例如onCreate()而不是课堂主体。

同时删除=之后的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);
      }
    });
  }
}

答案 2 :(得分: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);
}
});

答案 3 :(得分: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);
    }
});
}

答案 4 :(得分: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);
    }
});

答案 5 :(得分: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);
      } 
   });
}
}

我希望这会对你有所帮助。

答案 6 :(得分: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);
  }
});

} }