基于输入项目数的显示列表(android)
我的目标是根据用户输入的值显示项目。 例如:用户输入为5。。在我的应用程序中,将列出项目 这是我在MainActivity中的代码基于输入项目数的显示列表(android),android,loops,arraylist,iteration,Android,Loops,Arraylist,Iteration,我的目标是根据用户输入的值显示项目。 例如:用户输入为5。。在我的应用程序中,将列出项目 这是我在MainActivity中的代码 public class MainActivity extends AppCompatActivity { ArrayAdapter<String> adapter; ArrayList<String> itemList; @Override protected void onCreate(Bundle sav
public class MainActivity extends AppCompatActivity {
ArrayAdapter<String> adapter;
ArrayList<String> itemList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
itemList = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.txtview, this.itemList);
ListView listView = (ListView)findViewById(R.id.textView2);
listView.setAdapter(adapter);
final EditText editText = (EditText)findViewById(R.id.inputText);
Button buttonLoadItem = (Button)findViewById(R.id.buttonLoadItems);
buttonLoadItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String itemAdded;
try {
String editTextString = editText.getText().toString();
final int editTextInteger = Integer.parseInt(editTextString);
for (int i = 0; i < editTextInteger; i++) {
itemAdded = Integer.toString(i);
itemList.add(itemAdded);
adapter.notifyDataSetChanged();
System.out.println("Item: " + i);
}
} catch (NumberFormatException nbe) {
Toast.makeText(getApplicationContext(), "Error.", Toast.LENGTH_LONG).show();
}
}
});
}
public类MainActivity扩展了AppCompatActivity{
阵列适配器;
ArrayList项目列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
itemList=新的ArrayList();
适配器=新阵列适配器(this,R.layout.list_项,R.id.txtview,this.itemList);
ListView ListView=(ListView)findViewById(R.id.textView2);
setAdapter(适配器);
最终编辑文本编辑文本=(编辑文本)findViewById(R.id.inputText);
Button buttonLoadItem=(Button)findViewById(R.id.buttonLoadItems);
buttonLoadItem.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
添加字符串项;
试一试{
String editTextString=editText.getText().toString();
final int editTextInteger=Integer.parseInt(editTextString);
对于(int i=0;i
}
在我的onClick方法中,每次单击它时,它都会显示出来
0
1.
2.
3.
四,
我有for循环,但是在我当前的实现中,它只显示列表中的第一项。我的代码有什么问题?请使用
adapter.notifyDataSetChanged()代码>loopHi的外部。我确实试过了。但它什么也没做。它仍然只显示第一项。我确实创建了一个测试项目&它工作正常。尝试将实例化适配器的行稍微更改如下:final ArrayAdapter adapter=new ArrayAdapter(this,R.layout.list_item,itemList)代码>