Android:OnClickListener()不适用于按钮和图像

时间:2015-02-17 17:09:20

标签: android android-intent android-studio onclicklistener

我是Android新手,这是我的第一款应用。 我试图使用按钮导航,但它不起作用。有人可以帮忙吗? 此外,点击图像也无法正常工作。 这是我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    btn = (Button)findViewById(R.id.btnNext);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(intent);

        }
    });

    txt = (ImageView)findViewById(R.id.imageView);

    txt.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            Intent sendIntent = new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
            sendIntent.setType("text/plain");
            startActivity(sendIntent);
        }
    });

    if (savedInstanceState == null) {
        // Add the fragment on initial activity setup
        mainFragment = new MainFragment();
        getSupportFragmentManager()
                .beginTransaction()
                .add(android.R.id.content, mainFragment)
                .commit();
    } else {
        // Or set the fragment from restored state info
        mainFragment = (MainFragment) getSupportFragmentManager()
                .findFragmentById(android.R.id.content);
    }


}

xml档案

<ImageView
    android:layout_width="100dp"
    android:layout_height="110dp"
    android:id="@+id/imageView"
    android:layout_gravity="center_vertical"
    android:src="@drawable/com_facebook_button_check_on"
    android:layout_weight="0.61"
    android:layout_marginBottom="161dp"
    android:layout_alignParentBottom="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:longClickable="true"
    android:nestedScrollingEnabled="true"
    android:clickable="true"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btn_title"
    android:id="@+id/btnNext"
    android:layout_below="@+id/authButton"
    android:layout_alignParentStart="true" />

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试添加:

txt = (ImageView)findViewById(R.id.imageView);
txt.setClickable(true);   //<----

并查看onClick图片是否有效。

同时添加onClickListeners完全没问题,还有另一种方法可以在单击Buttons和ImageViews时调用方法,

在xml中将其添加到ImageView或Button:

android:onClick="launch";

然后你只需要创建像

这样的方法
public void launch(){
   //some code here
}

我不知道设置onClickListeners是否比这更好,但我总是觉得这样更方便。