Android 如何在列表视图中创建两个活动?
我有两个活动,我需要将它们放在一个listview中,这样当用户选择一个特定的listview项时,该活动就会启动。下面是我的代码,不幸的是,它以消息“不幸的是,应用程序已停止。有什么问题,我应该如何更正它?”Android 如何在列表视图中创建两个活动?,android,listview,Android,Listview,我有两个活动,我需要将它们放在一个listview中,这样当用户选择一个特定的listview项时,该活动就会启动。下面是我的代码,不幸的是,它以消息“不幸的是,应用程序已停止。有什么问题,我应该如何更正它?” public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCr
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("kiriari");
arrayList.add("kenga");
final ListView list = (ListView) findViewById(list_info);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(position == 1)
{
Intent myIntent = new Intent(MainActivity.this, kiriariActivity.class);
startActivityForResult(myIntent, 0);
}
if(position == 2)
{
Intent myIntent = new Intent(MainActivity.this,kengaActivity.class);
startActivityForResult(myIntent, 0);
String clickedItem = (String) list.getItemAtPosition(position);
Toast.makeText(MainActivity.this, clickedItem, Toast.LENGTH_LONG).show();
}
}
});
}
}
public类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
ArrayList ArrayList=新的ArrayList();
arrayList.add(“kiriari”);
arrayList.add(“kenga”);
最终ListView列表=(ListView)findViewById(列表信息);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
如果(位置==1)
{
Intent myIntent=新的Intent(MainActivity.this、kiriaActivity.class);
startActivityForResult(myIntent,0);
}
如果(位置==2)
{
Intent myIntent=newintent(MainActivity.this,kengaActivity.class);
startActivityForResult(myIntent,0);
字符串clickedItem=(字符串)列表。getItemAtPosition(位置);
Toast.makeText(MainActivity.this,clickedItem,Toast.LENGTH_LONG.show();
}
}
});
}
}
内部onItemClick
位置始终为0索引。因此,您必须执行以下操作:
if(position == 0)
{
Intent myIntent = new Intent(MainActivity.this, kiriariActivity.class);
startActivityForResult(myIntent, 0);
}
else if(position == 1)
{
Intent myIntent = new Intent(MainActivity.this,kengaActivity.class);
startActivityForResult(myIntent, 0);
}
您的崩溃可能在
String clickedItem=(String)列表上。getItemAtPosition(position)
行。或者您忘记将kiriactivity
或kengaActivity
添加到清单文件中。我应该如何将其添加到清单文件中。另外,我应该如何更正行?将这些添加到manifest.xml文件中的MainActivity标记下方。``