如何在Android中获取OnItemClickListener中的额外数据?
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
Bundle programNum = getIntent().getExtras();
final int progNum = programNum.getInt("Program");
Intent intent = new Intent(getBaseContext(), hotelAct3.class);
String hotelName = (String) ((TextView)parent.getChildAt(position)).getText();
startActivity(intent);
}
它应该来自调用列表活动的活动: 这样的,我有一个活动“hotelAct2.class”里面我把额外的数据如何在Android中获取OnItemClickListener中的额外数据?
公共类hotelAct2延伸活动{
EgyptDataSource datasource;
MySQLiteHelper sqlHelper;
ArrayAdapter<Hotel> hotelAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.hotelq2);
Bundle programNum = getIntent().getExtras();
final int progNum = programNum.getInt("Program");
final String Srating = programNum.getString("Stars");
//Intent ratingIntent = getIntent();
//String Srating = ratingIntent.getStringExtra("Stars");
Toast.makeText(hotelAct2.this, "The program is " + progNum + " The rating is " + Srating, Toast.LENGTH_LONG).show();
RadioButton nileRB = (RadioButton) findViewById(R.id.hRB2a);
RadioButton pyramidsRB = (RadioButton) findViewById(R.id.hRB2b);
RadioButton downtownRB = (RadioButton) findViewById(R.id.hRB2c);
RadioButton letmeRB = (RadioButton) findViewById(R.id.hRB2d);
if(Srating.equals("Five"))
{
nileRB.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(hotelAct2.this, CairoHotelList.class);
i.putExtra("RB", "nile5");
i.putExtra("program", progNum);
startActivity(i);
}});
} 然后启动活动列表是“CairoHotelList.class”我想在活动课
的“p的onItemClickListener额外的数据rogNum“返回0,它应该返回一个从1到20的数字,有帮助吗?
getIntent
方法将返回用于开始当前活动的意图。它与适配器中的元素完全无关,并且该方法将为您点击的每个项目返回相同的值。
为了澄清你的问题,“progNum”究竟应该从哪里来?
它应该来自调用列表活动的活动: 这样我有一个活动“hotelAct2.class” 里面我把额外的数据 Intent i = new Intent(hotelAct2.this,CairoHotelList.class); \t \t \t \t i.putExtra(“program”,progNum); \t \t \t \t startActivity(i); 然后它开始活动列表是“CairoHotelList.class” 我想获得活动类的onItemClickListener中的额外数据 – Nouran 2012-04-24 21:20:51
请问您可否在代码中添加额外的“程序”到代码中? – Luke 2012-04-24 21:11:59