2015-04-30 98 views
0

我試圖在用戶點擊listview中的一個項目時開始一個活動。在下面的適配器中,我在intent和onClick中遇到了問題。什麼可能導致失敗? 確定更新後代碼是否缺失}};}}字符就像編輯我的代碼之後一樣listview startactivty on click item

我的代碼 return rowView;

listView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     int itemPosition  = position; 
     String itemValue= (String)listView.getItemAtPosition(position); 
if (itemValue.equals("1")){ 
Intent intent = new Intent(context, Spain.class); 
context.startActivity(intent);} 
else if (itemValue.equals("2")) { 
Intent intent = new Intent(context, As.class); 
context.startActivity(intent);} 
else if(itemValue.equals("3")){ 
Intent intent = new Intent(context, Ma.class); 
context.startActivity(intent);} 
else if(itemValue.equals("4")) { 
Intent intent = new Intent(context, Me.class); 
context.startActivity(intent);} 
else if (itemValue.equals("5")){ 
Intent intent = new Intent(context, Gr.class); 
context.startActivity(intent);} 
else if(itemValue.equals("6")) { 
Intent intent = new Intent(context, Th.class); 
context.startActivity(intent);} 
else if(itemValue.equals("7")) { 
Intent intent = new Intent(context, Ukr.class); 
context.startActivity(intent);} 
else if (itemValue.equals("8")){ 
Intent intent = new Intent(context, Po.class); 
context.startActivity(intent);} 
else if (itemValue.equals("9")) { 
Intent intent = new Intent(context, France.class); 
context.startActivity(intent);} 
else if (itemValue.equals("10")){ 
Intent intent = new Intent(context, UK.class); 
context.startActivity(intent);} 
else if (itemValue.equals("11")) { 
Intent intent = new Intent(context, Ksa.class); 
context.startActivity(intent);} 
else if (itemValue.equals("12")) { 
Intent intent = new Intent(context, Ger.class); 
context.startActivity(intent);} 
else if (itemValue.equals("13")) { 
Intent intent = new Intent(context, Canda.class); 
context.startActivity(intent);} 
else if (itemValue.equals("14")){ 
Intent intent = new Intent(context, Turkey.class); 
context.startActivity(intent);} 
else if (itemValue.equals("15")) { 
Intent intent = new Intent(context, Italy.class); 
context.startActivity(intent);} 
else if (itemValue.equals("16")) { 
Intent intent = new Intent(context, Russia.class); 
context.startActivity(intent);} 
else if (itemValue.equals("17")) { 
Intent intent = new Intent(context, China.class); 
context.startActivity(intent);} 
else if (itemValue.equals("18")) { 
Intent intent = new Intent(context, Usa.class); 
context.startActivity(intent);} 
     })};} 
+0

「我得到了問題」 - 你有什麼問題? – Ajoy

+0

選擇列表項時出現任何錯誤? – Sony

回答

0

Intent intent = new Intent(this, Ksa.class); 
startActivity(intent); 

更改您的代碼

Intent intent = new Intent(context, Ksa.class); 
context.startActivity(intent); 

在您的適配器類爲什麼要聲明一個ListView和調用onItemClickListener方法?你還沒有初始化你的listView。

注意:當您從適配器類中單擊項目時,此代碼將起作用。

+0

好吧,我很好,但現在我得到這個錯誤方法startactivty(intent)是undefined –

+0

現在好了我的代碼缺少字符像};})缺少什麼請 –

+0

檢查代碼請更新我的代碼 –

0

,我們在您的代碼幾個問題

  1. 沒有必要擁有列表視圖的一個實例,在適配器中,也即列表視圖未初始化這將導致空指針異常
  2. 在此行String itemValue= (String) listView.getItemAtPosition(position);你想從列表視圖未初始化的項目,你不使用你的適配器初始化值在理想情況下該行應該是這樣

    String itemValue=values[position]

  3. 在您的OnItemClickListener if和else部分中的代碼都在執行相同的工作,您應該使用context而不是this

+0

so你的意見是要刪除這與上下文並將字符串itemvalue更改爲列表視圖中的值位置activty –

+0

是的..並且還從適配器中刪除列表視圖引用,最好將onItemclickListener移動到片段列表視圖 – nvinayshetty