Android ListView仅显示数组中的1项
让我们直截了当地说,这是我的代码,当我尝试使用Edittext和一个按钮将数据保存到listView时,它工作正常,所有项目都显示在列表视图上,但使用下面的方式,它只显示一个Android ListView仅显示数组中的1项,android,arrays,listview,Android,Arrays,Listview,让我们直截了当地说,这是我的代码,当我尝试使用Edittext和一个按钮将数据保存到listView时,它工作正常,所有项目都显示在列表视图上,但使用下面的方式,它只显示一个 public class History extends Activity { ListView show; Button Home, toMap, Next; EditText listTextMaker; ArrayList<String> addArray = new ArrayList<Stri
public class History extends Activity {
ListView show;
Button Home, toMap, Next;
EditText listTextMaker;
ArrayList<String> addArray = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
Home = findViewById(R.id.homeBtn);
toMap = findViewById(R.id.backBtn);
Next = findViewById(R.id.nextBtn);
show = findViewById(R.id.textHistory);
listTextMaker = findViewById(R.id.text);
listTextMaker.setVisibility(View.INVISIBLE);
ConstructorBuilder();
}
public void Constructor(){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String dataHistory = prefs.getString("History", null );
addArray.add(dataHistory);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(History.this, android.R.layout.simple_expandable_list_item_1, addArray);
show.setAdapter(adapter);
}
public void ConstructorBuilder(){
Constractor();
}
}
公共类历史扩展活动{
列表视图显示;
按钮Home、toMap、Next;
编辑文本列表TextMaker;
ArrayList addArray=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
Home=findViewById(R.id.homeBtn);
toMap=findViewById(R.id.backBtn);
Next=findViewById(R.id.nextBtn);
show=findviewbyd(R.id.textHistory);
listTextMaker=findViewById(R.id.text);
setVisibility(View.INVISIBLE);
构造函数生成器();
}
公共空构造函数(){
SharedPreferences=PreferenceManager.getDefaultSharedPreferences(此);
String dataHistory=prefs.getString(“History”,null);
addArray.add(数据历史记录);
ArrayAdapter=新的ArrayAdapter(History.this,android.R.layout.simple\u expandable\u list\u item\u 1,addArray);
show.setAdapter(适配器);
}
public void构造函数生成器(){
Constractor();
}
}
您只在列表中添加了一个数据:
String dataHistory = prefs.getString("History", null );
addArray.add(dataHistory);
如果需要多个数据,请使用以下代码:
String dataHistory = prefs.getString("History", null );
addArray.add(dataHistory);
addArray.add(dataHistory);
addArray.add(dataHistory);
addArray.add(dataHistory);
addArray.add(dataHistory);
共享屏幕截图请查看MU屏幕截图?您上面的代码正在从
SharedReferences
获取字符串,将其添加到空数组并在列表视图中显示。所以,在你的列表中只看到一项是很自然的。我想看一个屏幕截图(从你的用户界面)来了解你的目标是什么?在另一个布局中,我做了一个按钮,可以从EditText获取文本,然后我把它放到SharedReferences,然后在下面的代码中获取EditText字符串。。。很抱歉,我的笔记本电脑出了问题,我无法获得任何屏幕截图。至少可以分享其他活动的代码。如果没有看到与您的请求相关的代码,我们将无法提供帮助