PDA

View Full Version : ارسال آیتم های انتخاب شده در یک multiple choise list به یک activity دیگر



nima047
دوشنبه 12 مرداد 1394, 00:26 صبح
سلام و خسته نباشید
چجوری باید این کار رو انجام بدم؟

nima047
دوشنبه 12 مرداد 1394, 00:28 صبح
package com.enima.hi;

import android.os.Bundle;
import android.app.ListActivity;
import android.content.Intent;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {
private static final String[] items={
"Nima","shahram","shiva","ava","saman","sima","mahan","avesta","mohsen","taghi","gholi","hasan","sahra","shadi","leyla"
};
SparseBooleanArray checked;
String[] selected=new String[items.length];
Boolean[] s=new Boolean[items.length];
Intent intent;
int b=0;

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

setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
items));
}




@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(),"You have selected : \" "+ items[position]+" \" "+l.getCheckedItemIds(), Toast.LENGTH_SHORT).show();

b=0;



checked=l.getCheckedItemPositions();

for(int i=0;i<checked.size();i++){
if(checked.valueAt(i)==true){
selected[b]=items[i];
b++;
}

}


}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub


if( item.getItemId() == R.id.senddata){

Bundle b= new Bundle();
b.putStringArray("key", selected);
intent=new Intent(this, f2.class);
intent.putExtras(b);



startActivity(intent);
//Toast.makeText(getApplicationContext(), selected[0]+selected[1]+selected[2]+selected[3]+selected[4], Toast.LENGTH_SHORT).show();
}

return super.onOptionsItemSelected(item);
}






}

nima047
دوشنبه 12 مرداد 1394, 00:32 صبح
این هم از کد اون یکی activity
ولی جواب اشتباهی میده!

package com.enima.hi;

import java.util.Arrays;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class f2 extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);


TextView tv=new TextView(this);
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray("key");
tv.setText(Arrays.toString(array));

setContentView(tv);
}

}