I have a custom element ListViewas follows:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:background="@android:color/transparent">
<ImageView
android:id="@+id/profile_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mr_unknown"
android:contentDescription="@string/profile_picture_description"
android:paddingRight="3dp"/>
<TextView
android:id="@+id/real_life_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/FriendListText"/>
<Button
android:id="@+id/ping_friend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ping Friend"
/>
</LinearLayout>
which is used in this ListView:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".FriendListActivity" >
<ListView
android:id="@+id/friend_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fastScrollEnabled="true"
android:smoothScrollbar="false"
style="@style/ListViewStyle" >
</ListView>
</LinearLayout>
Now I want that when the Ping Friend button is pressed on any item in the list, it should show AlertDialog . I used this code ...
friendListAdapter = new FriendListAdapter(FriendListActivity.this, friends);
friendListView = (ListView) findViewById(R.id.friend_list);
friendListView.setAdapter(friendListAdapter);
downloadFriends_async();
friendListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Hello!!!");
alertDialogBuilder
.setMessage("Do you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
FriendListActivity.this.finish();}})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
dialog.cancel();}});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
});
An error has occurred.
The problem is that it does not respond to the button "Press the button" and "AlertDialog" is not displayed at all.
For the button, I'm also tired of adding inside onItemClickfrom a ListView :
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Button btnPingFriend = (Button) findViewById(R.id.ping_friend);
btnPingFriend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
}
Still no answer.
Please offer.
source
share