【问题标题】:xml onClick does not work after orientation change方向更改后xml onClick不起作用
【发布时间】:2015-08-23 18:44:04
【问题描述】:

我在 xml 中的 onClick 在方向更改后不起作用。我阅读了很多关于 onClickListerners 不起作用的帖子,这些帖子是在 onCreate() 方法中创建的,但事实并非如此。

这是我的 xml:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/button2"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:clickable="true"
    android:onClick="onSearchClick"
    android:src="@drawable/ic_search_black_24dp" />

在代码中:

public void onSearchClick(View v){
    newSearch();
}

在方向改变之前它工作得很好,但之后就不行了。可能是什么问题?

【问题讨论】:

  • 发布活动代码...
  • @dieter_h 有什么好玩的?
  • 我刚刚制作了一个示例应用程序,带有一个简单的按钮并在 xml 中定义了点击,它适用于纵向和横向。很有趣。
  • 在你的清单中有这样的东西:android:configChanges="keyboardHidden|orientation"
  • 不,没有配置更改

标签: android xml imagebutton screen-orientation


【解决方案1】:

尝试在 onCreate 方法中设置点击列表:

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);

        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                newSearch();
            }
        });
}

删除:android:onClick="onSearchClick"

【讨论】:

  • 关于为什么在xml中定义点击方法时它不起作用的任何想法?既然那是什么问题。您的解决方法是可行的。
  • 你有res/layout-land和res/layout-port两个布局吗?
猜你喜欢
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2017-04-14
相关资源
最近更新 更多