问题描述
在编程方面,我还是一个新手。我只是不明白为什么在我创建的列表视图中单击任何项目时,应用程序会崩溃。
这是我第一页的代码:
公共类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 (将#修改为@)