Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView仅显示数组中的1项_Android_Arrays_Listview - Fatal编程技术网

Android ListView仅显示数组中的1项

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

让我们直截了当地说,这是我的代码,当我尝试使用Edittext和一个按钮将数据保存到listView时,它工作正常,所有项目都显示在列表视图上,但使用下面的方式,它只显示一个

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字符串。。。很抱歉,我的笔记本电脑出了问题,我无法获得任何屏幕截图。至少可以分享其他活动的代码。如果没有看到与您的请求相关的代码,我们将无法提供帮助