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