我有一个工具栏,其中包含一个按钮,如何为此按钮实现onclick功能?
这是我创建工具栏和按钮的方法。
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_bottom"
android:layout_width="match_parent"
android:background="#2196F3"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test"
android:layout_gravity="left"
/>
</android.support.v7.widget.Toolbar>
这是MainActivity中的函数调用
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbar_bottom);
toolbarBottom.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch(item.getItemId()){
case R.id.test:
Toast.makeText(MainActivity.this,"asdasd",Toast.LENGTH_SHORT).show();
}
return true;
}
});
答案 0 :(得分:0)
<Button
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test"
android:onClick="callYourMethod" // This One
android:layout_gravity="left"
/>
Then Call this method from your Activity like this,
public void callYourMethod(View view ) {
}
答案 1 :(得分:0)
您必须在工具栏中找到按钮,如下所示:
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbar_bottom);
Button btnTest = (Button) toolbarBottom.findViewById(R.id.test);
然后你可以拨打该按钮上的onClick
:
btnTest.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
//Do what you want
}
});
答案 2 :(得分:0)
试试这个,
<android.support.v7.widget.Toolbar
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_bottom"
android:layout_width="match_parent"
android:background="#2196F3"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test"
android:layout_gravity="left"
/>
</android.support.v7.widget.Toolbar>
Toolbar toolbarBottom = (Toolbar)findViewById(R.id.toolbar_bottom);
Button test = (Button) toolbarBottom.findViewById(R.id.test);
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("TAG","Button click");
}
});