启动时未调用的方法

时间:2016-01-07 06:12:41

标签: android android-studio

所以我对android开发有点新意。

我读了this作为我对可点击按钮的引用,我的xml中有一些更改。我遇到的问题是,每当我试图点击它时,都没有任何反应。我的手机和android工作室都没有错误信息。我想知道什么是缺失的,或者有什么我不知道的东西,我应该知道吗?

这是我的项目中的java

public class test_button extends Activity {
Button button ;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_button);
    click();
}
public void click(){
    button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

                        Intent browserIntent =
                                new Intent(Intent.ACTION_VIEW, Uri.parse("http://reddit.com"));
                        startActivity(browserIntent);
        }
    });
}

这是我的xml

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<include layout="@layout/layout_toolbar"
    android:layout_height="?attr/actionBarSize"
    android:layout_width="match_parent"
    android:id="@+id/toolbar"/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:id="@+id/profile_page_activity_body"
    android:layout_below="@id/toolbar"
    >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="60sp"
        android:text="Do things"
        android:textColor="#ffffff"
        android:textSize="40sp"
        android:id="@+id/button"
        android:textAllCaps="false"
        android:background="@drawable/btn_greenbox"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="51dp" />


</RelativeLayout>

Edit1:on onClick(),我确实尝试过Toast,但结果相似,没有任何反应。

Edit2:只要我点击它就会在按钮上点击动画

3 个答案:

答案 0 :(得分:0)

这样的通话意图可能会在您的链接中出现问题:

点击: -

**Intent i = new Intent(Intent.ACTION_VIEW, 
           Uri.parse("https://www.reddit.com/"));
    startActivity(i);**

只需添加 https://www.reddit.com/ ,而不是 http://www.reddit.com/

答案 1 :(得分:0)

如何将点击监听器设置为:

public class TestButton extends Activity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.button);
        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        // Intent code here;
    }
}

答案 2 :(得分:0)

onCreate内设置onclick listenter而不是该方法,然后尝试。

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

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

                        Intent browserIntent =
                                new Intent(Intent.ACTION_VIEW, Uri.parse("http://reddit.com"));
                        startActivity(browserIntent);
        }
    });
}

此外,test_button不是一个好名字。将其更改为TestButton。 (使用重构[shift + f6]重命名,这样就不会出现参考错误)