我正在创建一个Tables应用程序,即,当在editText中输入数字并按下按钮时,列表视图将显示该特定数字的表。 我尝试了这段代码,但是它一直崩溃。
public class MainActivity extends AppCompatActivity {
ListView myListView;
public final void generate(int timesTableNumber){
ArrayList<String> timeTableContent= new ArrayList<String>();
for(int j=1;j<=10;j++)
timeTableContent.add(Integer.toString(j*timesTableNumber));
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,timeTableContent);
myListView.setAdapter(arrayAdapter);
}
public void table(View view)
{
EditText editText=(EditText)findViewById(R.id.editText);
generate(Integer.parseInt(editText.toString()));
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myListView=findViewById(R.id.myListView);
generate(1);
}
}
答案 0 :(得分:0)
您应该添加getText()
。
generate(Integer.parseInt(editText.getText().toString()));
然后使用 String.valueOf
代替 Integer.toString
。
for(int j=1;j<=10;j++)
timeTableContent.add(String.valueOf(j*timesTableNumber));