Java 在可点击的图像视图上烤面包

Java 在可点击的图像视图上烤面包,java,android,imageview,toast,Java,Android,Imageview,Toast,有人能帮我为可点击的图像视图(链接到URL)设置一条toast消息吗 这是我到目前为止得到的,但我不确定为什么它在“maketext”上给了我一个错误。 如果有人能给我指出正确的方向,请提前谢谢 public class VideoActivity extends Activity { ImageView blipImg; ImageView breakImg; ImageView dailyMotionImg; ImageView funnyOrDieI

有人能帮我为可点击的图像视图(链接到URL)设置一条toast消息吗

这是我到目前为止得到的,但我不确定为什么它在“maketext”上给了我一个错误。 如果有人能给我指出正确的方向,请提前谢谢

    public class VideoActivity extends Activity {
    ImageView blipImg;
    ImageView breakImg;
    ImageView dailyMotionImg;
    ImageView funnyOrDieImg;
    ImageView metaCafeImg;
    ImageView netFlixImg;
    ImageView socialCamImg;
    ImageView tedImg;
    ImageView vevoImg;
    ImageView viddyImg;
    ImageView vimeoImg;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.video1);
       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);
            Toast toast = Toast.makeText(VideoActivity.this, "Blip", Toast.LENGTH_SHORT);
            toast.show();
            }
       });

       breakImg = (ImageView)findViewById(R.id.videoBreak);
       breakImg.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://break.com"));
            startActivity(intent);
            Toast toast = Toast.makeText(VideoActivity.this, "Break",                    Toast.LENGTH_SHORT);
            toast.show();
            }
    });
            }
           }
根据,此方法将上下文作为第一个参数,而不是用户单击的视图,请尝试此方法(使用活动作为上下文):

根据,此方法将上下文作为第一个参数,而不是用户单击的视图,请尝试此方法(使用活动作为上下文):


我想这是因为你是在传递blipImg而不是上下文

 Toast toast = Toast.makeText(VideoActivity.this , "Blip", Toast.LENGTH_SHORT);


我想这是因为你是在传递blipImg而不是上下文

 Toast toast = Toast.makeText(VideoActivity.this , "Blip", Toast.LENGTH_SHORT);


您正在将ImageView放入祝酒词中,但这不起作用

改变

Toast toast = Toast.makeText(blipImg, "Blip", Toast.LENGTH_SHORT);
        toast.show();


您正在将ImageView放入祝酒词中,但这不起作用

改变

Toast toast = Toast.makeText(blipImg, "Blip", Toast.LENGTH_SHORT);
        toast.show();

makeText()接受不同的参数,您应该传递活动上下文而不是ImageView。Toast也是静态的,所以可以这样称呼它:

Toast.makeText(VideoActivity.this, "Blip", Toast.LENGTH_SHORT).show();
makeText()接受不同的参数,您应该传递活动上下文而不是ImageView。Toast也是静态的,所以可以这样称呼它:

Toast.makeText(VideoActivity.this, "Blip", Toast.LENGTH_SHORT).show();

makeText
中,第一个参数应该是
Toast
的上下文(将其更改为
VideoActivity.this
)。

makeText
中,第一个参数应该是
Toast
的上下文(将其更改为
VideoActivity.this
)。

正如大家所说的那样,您在
makeText()
中使用了错误的
参数。您可以使用
ActivityName。这将起作用,但更好的做法是使用正在单击的
视图的
上下文,在这种情况下,它将为您提供与
ActivityName相同的
上下文。这是一种更好的做法

Toast toast = Toast.makeText(v.getContext(), "Blip", Toast.LENGTH_SHORT);

对于instacne,如果您想在其他地方移动或重用此代码,则无需更改
ActivityName

,正如大家所说,您在
makeText()
中使用了错误的
参数。您可以使用
ActivityName。这将起作用,但更好的做法是使用正在单击的
视图的
上下文,在这种情况下,它将为您提供与
ActivityName相同的
上下文。这是一种更好的做法

Toast toast = Toast.makeText(v.getContext(), "Blip", Toast.LENGTH_SHORT);

对于instacne,如果您想在其他地方移动或重用此代码,则无需更改
ActivityName

谢谢各位。太棒了。我试图弄明白“上下文”是什么意思,但我现在明白了。顺便说一句,如果我有多个可单击的ImageView(如原始问题中的一个),如果我在ImageView的代码的每次迭代后都举杯庆祝,那么同样的事情会起作用吗?或者我必须做些其他事情吗?clickable ImageView=ImageButtons。另外,我也不太理解你的最后一个问题:/如果我有两个ImageButton,都是按照上面的代码设置的,那么toast似乎只适用于第一个ImageButton。对于第二个ImageButton的祝酒词,我有什么不同的做法吗?很难猜到没有看到其他ImageButton的实现。但基本上你几乎可以在任何地方放烤面包。它类似于日志消息或System.out.println();谢谢各位。太棒了。我试图弄明白“上下文”是什么意思,但我现在明白了。顺便说一句,如果我有多个可单击的ImageView(如原始问题中的一个),如果我在ImageView的代码的每次迭代后都举杯庆祝,那么同样的事情会起作用吗?或者我必须做些其他事情吗?clickable ImageView=ImageButtons。另外,我也不太理解你的最后一个问题:/如果我有两个ImageButton,都是按照上面的代码设置的,那么toast似乎只适用于第一个ImageButton。对于第二个ImageButton的祝酒词,我有什么不同的做法吗?很难猜到没有看到其他ImageButton的实现。但基本上你几乎可以在任何地方放烤面包。它类似于日志消息或System.out.println();