2015-04-30 59 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