假設我有兩個按鈕,一個是位於操作欄(@ + id/button1)中的操作按鈕。另一個是佈局中的常用按鈕(@ + id/button2)。如何獲取操作欄按鈕? findviewbyid似乎不起作用
當我點擊button2時,如何設置button1被禁用?
findViewById(button1)似乎不起作用。它將返回null。
這是我的菜單的xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/button1" android:title="submit" android:showAsAction="always" /> </menu>
,這是我mainacticity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.button1) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
button1 = (Button) findViewById(R.id.button1);/*which return null*/
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button1.setEnabled(false);/*what i failed to do*/
}
});
}
共享代碼。 – Daenarys