OnClickListener没有响应

我无法让我的点击监听器工作。 正确检索ImageButton。

监听器(扩展我设置视图的自定义活动):

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("UserActivity", "Loading imagebutton..."); ImageButton iButton = (ImageButton) findViewById(R.id.user_button_ratings); Log.d("UserActivity", "Button " + iButton); iButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.e("Button", "Image was clicked"); } }); } 

BaseActivity

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutId()); drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); drawerToggle = new ActionBarDrawerToggle((Activity) this, drawerLayout, R.drawable.ic_drawer, 0, 0) { public void onDrawerClosed(View view) { getActionBar().setTitle(R.string.app_name); } public void onDrawerOpened(View drawerView) { getActionBar().setTitle(R.string.menu); } }; drawerLayout.setDrawerListener(drawerToggle); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); layers = getResources().getStringArray(R.array.layers_array); drawerList = (ListView) findViewById(R.id.left_drawer); drawerList.setAdapter(new ArrayAdapter(this, R.layout.adapter_navigation, R.id.navigation_text, layers)); final BaseActivity activity = this; drawerList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int pos, long arg3) { // Do something } }); drawerList.setBackgroundColor(Color.LTGRAY); } 

布局:

  

表现:

                          

LogCat中没有错误,并且onClick方法没有出现问题。 我尝试过使用监听器的不同方法,但从未得到任何响应。 我也尝试了一个适合我的代码,但没有回应。

如果你能帮助我,那会很棒;)

当使用DrawerLayout ,应该只有一个主要内容View ,抽屉View – 在这种情况下, ListView – 列在它之后。 以任何其他方式使用DrawerLayout将导致不正确,不可预测的行为,通常会阻止与其他布局元素的正常交互。

可以在此开发人员页面上找到包含示例和文档链接的教程。

这里我给出一个图像按钮的例子。 如果它也给出错误然后清理eclipse的项目,然后再试一次。

   

  import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.Toast; public class MainActivity extends Activity { ImageButton imgButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerOnButton(); } private void addListenerOnButton() { imgButton = (ImageButton) findViewById(R.id.imageButton1); imgButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Clicked", Toast.LENGTH_SHORT) .show(); } }); } }