我尝试个性化有关布局更改(http://developer.android.com/training/animation/layout.html)的Android教程,但在代码中有这段代码
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// Navigate "up" the demo structure to the launchpad activity.
// See http://developer.android.com/design/patterns/navigation.html
// for more.
NavUtils.navigateUpTo(this, new Intent(this, MainActivity.class));
return true;
case R.id.action_add_item:
// Hide the "empty" view since there is now at least one item in the
// list.
findViewById(android.R.id.empty).setVisibility(View.GONE);
addItem();
return true;
}
return super.onOptionsItemSelected(item);
}
在我的情况下,菜单中没有按钮,但我使用外部按钮。我试着用这个按钮:
<Button
android:id="@+id/buttonPost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@+id/editTextComment"
android:text="Post"
android:onClick="add" />
使用方法
public void add(View view) {
findViewById(android.R.id.empty).setVisibility(View.GONE);
addItem();
}
但是这个解决方案不起作用。有什么想法吗?
答案 0 :(得分:1)
onOptionsItemSelected
用于与menu
一起使用的选项onCreateOptionsMenu(Menu menu)
。如果您希望此代码适用于onClick
和Button
switch
上的Button
,请将此代码移至id
。
public void add(View v) {
switch (v.getId()) {
case R.id.buttonPost:
findViewById(android.R.id.empty).setVisibility(View.GONE);
addItem();
break;
case R.id.another_button_id:
// do something else
break;
}
}
答案 1 :(得分:0)
在您的按钮上添加OnClickListener
:
findViewById(R.id.buttonPost).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// do something here
}
});