0
我的問題ListView的問題?
我試圖讓一個應用程序,你可以添加一個項目使用一個EditText和一個ListView列表。我使用this website來幫助,因爲我沒有太多的android編碼經驗,但我不得不改變一下代碼,因爲我使用了兩個活動而不是一個。它有效,但有一些問題我不知道如何解決。
- 你只能添加一個列表項,然後你放的最後一個消失,並被新的替換。
- 如果你離開的ListView活動,新列表項消失了(我想這就是爲什麼排名第一的事情)
- 我有,所以當你點擊的項目之一,它關係到一個活動(每個去到不同的活動),並且您只能在將項目添加到列表中後單擊它們。
我的代碼
Questions.java(ListView的活動)
package com.example.sylvie.dogwise;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.view.View;
public class Questions extends AppCompatActivity {
ListView listview;
String[] ListElements = new String[]{
"How much food should I feed my dog?",
"How do I teach my dog to sit?"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_questions);
listview = (ListView) findViewById(R.id.QuestionsList);
final List<String> ListElementsArrayList = new ArrayList<String>(Arrays.asList(ListElements));
final ArrayAdapter<String> adapter = new ArrayAdapter<String>
(Questions.this, android.R.layout.simple_list_item_1, ListElementsArrayList);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
Bundle newQuestion = getIntent().getExtras();
if (newQuestion == null) {
return;
}
String QuestionName = newQuestion.getString("QuestionName");
ListElementsArrayList.add(QuestionName);
adapter.notifyDataSetChanged();
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if (position == 0) {
Intent myIntent = new Intent(view.getContext(), Question_howmuchfoodshouldifeedmydog.class);
startActivityForResult(myIntent, 0);
}
if (position == 1) {
Intent myIntent = new Intent(view.getContext(), Question_2.class);
startActivityForResult(myIntent, 0);
}
}
});
}
;
public void backHomeOnClick(View view) {
Intent b = new Intent(this, HomeScreen.class);
startActivity(b);
}
public void askAQuestionOnClick(View view) {
Intent i = new Intent(this, AskAQuestion.class);
startActivity(i);
}
;
}
謝謝。你知道爲什麼我不能點擊一個項目,直到我添加一個項目嗎? – Sylvie
調試應用程序並檢查onItemClick方法以查看它保存的位置值。這應該告訴你你做錯了什麼。 – Nenco