Je n'arrive pas à faire fonctionner mes écouteurs de clic. ImageButton est récupéré correctement.OnClickListener ne répond pas
Listener (extension de mon activité personnalisée qui donne le point de vue):
@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<String>(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);
}
Mise en page:
<ImageButton
android:id="@+id/user_button_ratings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@color/transparent"
android:scaleType="fitCenter"
android:src="@drawable/mmb_rating_big" />
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.panic.xenira.mmb"
android:versionCode="2"
android:versionName="0.1.1" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SearchActivity"
android:label="@string/title_activity_search" >
</activity>
<activity
android:name=".BaseActivity"
android:label="@string/title_activity_base" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<activity
android:name=".UserActivity"
android:label="@string/title_activity_user" >
</activity>
<activity
android:name=".UserViewerActivity"
android:label="@string/title_activity_user_viewer" >
</activity>
</application>
</manifest>
Il n'y a pas d'erreur dans le LogCat et la méthode onClick n'est pas calée. J'ai essayé différentes méthodes d'utilisation de l'écouteur mais je n'ai jamais eu de réponse. J'ai également essayé un code qui a fonctionné pour moi avant mais aucune réponse.
Si vous culd me aider;)
Pouvez-vous poster le contenu du manifeste Android? Et aussi je ne peux pas voir 'setContentView' – Cristian
@Cristian a ajouté le manifeste. La vue du contenu défini est dans BaseActivity. L'onClickListener doit être défini dans UserActivity, ce qui étend la BaseActivity. – Xenira
@Mike a ajouté la BaseActivity – Xenira