Raphael Thomas Liewl
Raphael Thomas Liewl

Reputation: 49

Why the item selected return nothing when it was called?

I'm trying to create a Request Responses activity and get the itemSelected for use of next activity which is store them into user friendlist. But the itemSelected return nothing when the "Accept" button is clicked.(It should display itemSelected in toast dialog) Anyone knows what happen it is? Additionally, I like to ask why the item in the listView was located at the not accurate location? it seems like more upper that usual, for the second item.How to adjust it properly?

The figure below is layout of NotificationView.java:

The result when the "Accept" button is clicked.

NotificationView.java

public class NotificationView extends ListActivity{

String[] people;
ListView lv;
Button btn1,btn2;

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view);  
    NotificationManager mnotis =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    mnotis.cancel(getIntent().getExtras().getInt("notificationID"));
    String i = getIntent().getExtras().getString("name");
    people = i.split("[,]");
    Log.d("how",i);

    lv= (ListView) findViewById(android.R.id.list);
    btn1 = (Button)findViewById(R.id.acceptbtn);
    btn2 = (Button)findViewById(R.id.closebtn);
    ArrayAdapter<String> list = new ArrayAdapter<String>(NotificationView.this,R.layout.friendlist_item, R.id.friend_name,people);
    lv.setAdapter(list); 

    btn1.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            lv = getListView();
            int i = lv.getCount();
            Log.d("count",String.valueOf(i));
            runOnUiThread(new Runnable(){
                public void run(){
                    String itemSelected = "Selected items: \n";
                    for(int i=0;i<lv.getCount();i++){
                        if(lv.isItemChecked(i)){
                            itemSelected += lv.getItemAtPosition(i) + "\n";
                        }
                    }
                    Toast.makeText(NotificationView.this,itemSelected,Toast.LENGTH_SHORT).show();
                }               
            });

        }
    });
}}      

view.xml

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#ffffff"
  >

<ListView android:id="@android:id/list" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_weight="1">
</ListView>

<FrameLayout android:id="@+id/FrameLayout01" 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content">


  <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="fill_parent"
      android:background="#ffffff"
      android:orientation="horizontal" >


      <Button
          android:id="@+id/acceptbtn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_horizontal"
          android:layout_weight="0.46"
          android:text="Accept" />



      <Button
          android:id="@+id/closebtn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="0.49"
          android:text="Close" />

  </LinearLayout>

</FrameLayout>

friendlist_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<CheckBox android:id="@+id/friend_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight = "88dip"
android:textSize="20dip"
android:textStyle="bold"/>  

</LinearLayout>

Upvotes: 0

Views: 84

Answers (1)

ClarkXP
ClarkXP

Reputation: 1233

Your Checkbox isn't related with the method that you are calling, for listview with multiselect items follow the next guide: http://dj-android.blogspot.com/2012/04/milti-selection-listview-android-with.html

Upvotes: 1

Related Questions