2016-03-01 47 views
-1

我已经创建了一个ListView并在列表 中创建了A,B和C,我想当用户单击A时,它将用户引导到一个名为D的新活动。当他点击B时,将他引导至新的Activity E,点击C并转到活动F.
我应该怎么做才能做到这一点?如何去ListView的新活动?

这里是我的代码

public class MainActivity extends Activity implements 
              OnItemClickListener{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListView support_device_list=(ListView) 

findViewById(R.id.support_device_list); 
    support_device_list.setOnItemClickListener(this); 
    } 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

----------------------------------- ---------------------------------------------新代码

是这样吗?

public class MainActivity extends Activity implements 
              OnItemClickListener{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListView support_device_list=(ListView) 

ListView list = (ListView) findViewById(R.id.listview); 
list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, 
long id) { 
if(position==0) 
{ 
Intent in=new Intent(lt18iActivity.this,lt18iActivity.class); 
startActivity(in); 
} 
if(position==1) 
{ 
Intent in=new Intent(YourActivity.this,ActivityB.class); 
startActivity(in); 
} 
if(position==2) 
{ 
Intent in=new Intent(YourActivity.this,ActivityC.class); 
startActivity(in); 
} 
} 
}); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
+0

在您的代码? –

+1

在你的'ListView'上实现'OnItemClickListener'并在其中开始活动。 – Rohit5k2

+0

#rico chu这种类型的问题已经提出。请在Google上搜索 –

回答

0

试试这个

ListView list = (ListView) findViewById(R.id.listview); 
list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    if(position==0) 
{ 
Intent in=new Intent(YourActivity.this,ActivityA.class); 
startActivity(in); 
} 
if(position==1) 
{ 
Intent in=new Intent(YourActivity.this,ActivityB.class); 
startActivity(in); 
} 
if(position==2) 
{ 
    Intent in=new Intent(YourActivity.this,ActivityC.class); 
startActivity(in); 
} 
} 
}); 
+0

更好地使用其他情况与其他案件与if。如果你不作为例子所有其他案件将被检查 – Aerox

+0

我可以创建一个字符串数组并将/ Intent in = newIntent(YourActivity.this,ActivityA.class);/Intent in = newIntent(YourActivity2.this,ActivityB.class); ? –

+0

@ricochu只是试一试 –