单击列表视图中的任何项目时,Android StudioJava应用程序崩溃应打开新活动时

问题描述

在编程方面,我还是一个新手。我只是不明白为什么在我创建的列表视图中单击任何项​​目时,应用程序会崩溃。

这是我第一页的代码

公共类BookingActivity4扩展了AppCompatActivity {

//Nu hämtar vi ListView från layout vilken vi skall koppla samman
/*Vi lägger de tre komponenterna globalt så att dem blir
    åtkomliga för alla funktioner i klassen */

ListView kategoriListView;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_booking4);


    final String kategoriListan[] = new String[]{"Mun","Öron","Blodprov","Mage","Njurfunktion","Feber & Hosta","Influensa & Virus"};

    kategoriListView=(ListView) findViewById(R.id.kategoriListView1);

    //Nu Skapar vi Adaptern för att koppla ListView
    final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,kategoriListan);

    kategoriListView.setAdapter(adapter);

    //Vi lägger till metoden onclicklistener för att kunna byta sida vid klick på valfritt objekt
    kategoriListView.setonItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView,View view,int i,long l) {
            //Todo Auto-generated method stub

            // Getting listview click value into String variable.
            //String TempListViewClickedValue = kategoriListan[i].toString();

            Intent intent = new Intent(BookingActivity4.this,BookTimeActivity.class);

            // Sending value to another activity using intent.
            //intent2.putExtra("ListViewClickedValue",TempListViewClickedValue);

            startActivity(intent);
        }
    });
    
}

}

这是我第二页的代码: 公共类BookTimeActivity扩展了AppCompatActivity {

//Nu hämtar vi ListView från layout vilken vi skall koppla samman
/*Vi lägger de tre komponenterna globalt så att dem blir
    åtkomliga för alla funktioner i klassen */
private ListView tiderListView = (ListView) findViewById(R.id.tiderListView1);
private ArrayAdapter<String> myAdapter;
private ArrayList<String> tiderLista = new ArrayList<String>();


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

    /*Här har vi våra essentiella funktioner: createDataset som är
     datakällan (ArrayList). Sen har vi makeAdapter (som är för kopplar in
     i listan (då behövs en klass/objekt av en klass emellan). Slutligen har vi setListener
     som hämtar upp ListView via ID:t i XML och visar upp den genom att koppla ihop den med
     adaptern myAdapter*/

    createDataset();
    makeAdapter();
    setListener();
}

//Vi skapar vår datakälla
private void createDataset(){
    tiderLista.add("Fre,kl 12.30");
    tiderLista.add("Fre,kl 10.00");
    tiderLista.add("Ons,kl 08.15");
    tiderLista.add("ons,kl 09.45");
    tiderLista.add("Mån,kl 08.00");
}

//Vi skapar vår adapter
private void makeAdapter(){
    //Vi skapar en ArrayAdapter som utilerar områdeslistan
    myAdapter = new ArrayAdapter<String>(this,R.layout.list_row,tiderLista);

    //Vi hämtar ListView från layout för att koppla ihop den med klassens
    tiderListView = (ListView) findViewById(R.id.tiderListView1);

    //vi konfigurerar vår adapter och kopplar den till vår ListView
    tiderListView.setAdapter(myAdapter);
}

private void setListener(){
    tiderListView.setonItemClickListener(
            new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapterView,int position,long id) {

            //Läs av via ett värde från datakällan (listan med tider)
            Toast.makeText(BookTimeActivity.this,"Du bokade" + tiderLista.get(position),Toast.LENGTH_SHORT).show();

        }
    });
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)