2016-08-24 56 views
1

我需要调用onclicklistner到ic_action_overflow按钮(选项菜单按钮)在主类的oncreate ....如何写onclicklistner到该按钮。 。提前致谢!如何调用ic_action_overflow按钮(选项菜单)onclicklistner在android的主类的oncreate中

代码应该像...

public class MainActivity extends AppCompatActivity {  

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

    ic_action_overflow.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      //body 
     } 
    }); 
} 
} 
+0

你使用工具栏吗? –

回答

1

使用performClick方法

ic_action_overflow.performClick(); 
+0

如何调用android.....的默认ic_action_overflow,因为它显示“无法解析ic_action_overflow” –

1

你为什么不使用

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.ic_action_overflow){ 
     //your code 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
在您的活动

1
@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
// TODO Auto-generated method stub 
switch (keyCode) { 

case KeyEvent.KEYCODE_MENU: 
    // Do Sometihng 
    break; 

default: 
    break; 
} 
return super.onKeyDown(keyCode, event); 
    } 

你需要做这样的

1

确保在menu.xml文件在菜单文件夹定义这个属性里面水库

<item android:id="@+id/ic_action_overflow" 
android:title="ic_action_overflow"/> 

然后在MainActivity调用onCreateOptionsmenu已经显示,如果你没有。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu, menu); 
    return true; 
} 

现在,最后点击侦听器ic_action_overflow

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.ic_action_overflow: 
      //Do work here 
      Toast.makeText(MainActivity.this,"Click Successful",Toast.LENGTH_SHORT).show(); 
      break; 
} 
return true; 
} 

希望这有助于你!

相关问题