2011-01-31 45 views
6

我有一個列表視圖,我想去從每一個列表項我press.this一個新的活動是我的代碼..ListView控件的onclick進入一個新的活動

public class DialogActivity extends Activity { 

private ListView lv1; 

private String lv_arr[]={"SuperLeague 2010-2011","Olympiakos on YouTube","Olympiakos Web Site","Find Karaiskaki on map","Reserve Tickets"}; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.dialog); 

     lv1=(ListView)findViewById(R.id.dialog_list); 

     // By using setAdpater method in listview we an add string array in list. 

     lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr)); 


     lv1.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 

     // Intent newActivity = new Intent(view.getContext(),agones.class);  
      //  startActivity(newActivity); 

     } 
    }); 

    } 

}

+8

那麼什麼你有什麼問題? – Falmarri 2011-01-31 14:55:52

+0

我不知道在setOnItemListener中按順序寫什麼,如果我按「SuperLeague」列表視圖項目去我的superleague.java類 – 2011-01-31 14:59:44

回答

21

使用該方法中的switch語句:

public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
    switch(position) 
    { 
     case 0: Intent newActivity = new Intent(this, superleague.class);  
       startActivity(newActivity); 
       break; 
     case 1: Intent newActivity = new Intent(this, youtube.class);  
       startActivity(newActivity); 
       break; 
     case 2: Intent newActivity = new Intent(this, olympiakos.class);  
       startActivity(newActivity); 
       break; 
     case 3: Intent newActivity = new Intent(this, karaiskaki.class);  
       startActivity(newActivity); 
       break; 
     case 4: Intent newActivity = new Intent(this, reservetickets.class);  
       startActivity(newActivity); 
       break; 
    } 
} 

將類名更改爲每個Activity所需的內容。

+1

感謝隊友!工作正常 – 2011-01-31 15:08:58

1

例如:

private OnClickListener mSLeagueListener = new OnClickListener() { 
    public void onClick(View v) { 
     Intent intent = new Intent(Main.this, SuperLeague.class); 
     Main.this.startActivity(intent); 
    } 
}; 
7
public class DialogActivity extends Activity { 

private ListView lv1; 

private String lv_arr[]={"SuperLeague 2010-2011","Olympiakos on YouTube","Olympiakos Web Site","Find Karaiskaki on map","Reserve Tickets"}; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.dialog); 

     lv1=(ListView)findViewById(R.id.dialog_list); 

     // By using setAdpater method in listview we an add string array in list. 

     lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr)); 


     lv1.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
      final TextView mTextView = (TextView)view; 
      switch (position) { 
      case 0: 
      Intent newActivity0 = new Intent(DialogActivity.this,NewActivity0.class);  
      startActivity(newActivity0); 
      break; 
      case 1: 
      Intent newActivity1 = new Intent(DialogActivity.this,NewActivity1.class);  
      startActivity(newActivity1); 
      break; 
      case 0: 
      Intent newActivity2 = new Intent(DialogActivity.this,NewActivity2.class);  
      startActivity(newActivity2); 
      break; 
      case 0: 
      Intent newActivity3 = new Intent(DialogActivity.this,NewActivity3.class);  
      startActivity(newActivity3); 
      break; 
      default: 
       // Nothing do! 
      } 

     } 
    }); 

    } 
2

這是遲,但仍可能幫助一些一個:-)

listView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 

if(position == 1) 
{ 

     Intent myIntent = new Intent(YourActivity.this, SecondActivity.class); 
      startActivityForResult(myIntent, 0); 
} 

if(position == 2) 
{ 

     Intent myIntent = new Intent(YourActivity.this, ThirdActivity.class); 
      startActivityForResult(myIntent, 0); 
} 
    } 
    }); 

這裏位置指的ListView行..

相關問題