如何在我的应用程序中实现longclickable

时间:2012-11-08 21:29:02

标签: android android-layout android-intent

我有一个按钮,它带你到一个带有简短描述的样本图片,但我想做的是长按,然后让用户访问网站以获取更多信息。

这是我的按钮代码(正常)

    <Button
                    android:id="@+id/samplea"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_marginTop="20dp"
                    android:background="@drawable/samplea_button" 
                    android:longClickable="true"/>

我的java就是这个

Button next = (Button) findViewById(R.id.samplea);
next.setOnClickListener(new View.OnClickListener() {


        public void onClick(View view) {
            final ImageView imageView = (ImageView) findViewById(R.id.iM2);
            imageView.setImageResource(R.drawable.samplea_draw);

如何添加longclickable以将我带到网站? 有人可以帮忙吗?

我已经添加了它,但现在它似乎把我带到了这个网站(经过长时间点击),但没有到图像(正常onclick之后)继承我的代码:

  next1.setOnLongClickListener(new OnLongClickListener() {
        public boolean onLongClick(View v) {
            // Launch your web intent
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/a/13298207/1267661"));
            startActivity(intent);
            return true;
        }

        public void onClick(View view) {
            final ImageView imageView = (ImageView) findViewById(R.id.iM2);
            imageView.setImageResource(R.drawable.samplea_draw);

在“public void onClick(View view){”

下获得一条黄线

3 个答案:

答案 0 :(得分:3)

<强>更新
像OnClickListener一样实现OnLongClickListener,但它需要是独立的。试试这个:

Button next = (Button) findViewById(R.id.samplea);
next.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        // You can turn this into a class variable
        final ImageView imageView = (ImageView) findViewById(R.id.iM2);
        imageView.setImageResource(R.drawable.samplea_draw);
    }
)};
next.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        // Launch your web intent
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/a/13298207/1267661"));
        startActivity(intent);
        return true;
    }
});

答案 1 :(得分:1)

您添加了一个长按一下监听器 -

next.setOnLongClickListener(new OnLongClickListener() { 
    @Override
    public boolean onLongClick(View v) {
        //your action on long click
        return true;
    }
});

请看这里 - Android: long click on a button -> perform actions

如果您先向Google提问,请务必获得更好的答案!

答案 2 :(得分:0)

按照以下链接提供更多详情

Long Button click

请参阅下面的示例代码。

next.setOnLongClickListener(new OnLongClickListener() {

   @Override
   public boolean onLongClick(View v) {
    // TODO Auto-generated method stub

    Toast.makeText(MainActivity.this,"Button long click", Toast.LENGTH_SHORT).show();
    return true;
   }
  });