Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在列表视图中创建两个活动?_Android_Listview - Fatal编程技术网

Android 如何在列表视图中创建两个活动?

Android 如何在列表视图中创建两个活动?,android,listview,Android,Listview,我有两个活动,我需要将它们放在一个listview中,这样当用户选择一个特定的listview项时,该活动就会启动。下面是我的代码,不幸的是,它以消息“不幸的是,应用程序已停止。有什么问题,我应该如何更正它?” public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCr

我有两个活动,我需要将它们放在一个listview中,这样当用户选择一个特定的listview项时,该活动就会启动。下面是我的代码,不幸的是,它以消息“不幸的是,应用程序已停止。有什么问题,我应该如何更正它?”

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标记下方。``