2012-04-24 66 views
0
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的数字,有帮助吗?

+0

请问您可否在代码中添加额外的“程序”到代码中? – Luke 2012-04-24 21:11:59

回答

0

getIntent方法将返回用于开始当前活动的意图。它与适配器中的元素完全无关,并且该方法将为您点击的每个项目返回相同的值。

为了澄清你的问题,“progNum”究竟应该从哪里来?

+0

它应该来自调用列表活动的活动: 这样我有一个活动“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

相关问题