Android代码 应用程序没有打开,每当我运行应用程序时发生错误,不幸的是,儿童表已经停止。该应用程序正确安装在AVD Manager中。但没有跑。
public class MainActivity extends AppCompatActivity
{
EditText ed;
Button b;
ListView li;
int table[]= new int[11];
ListAdapter arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click();
}
public void click() {
ed = (EditText) findViewById(R.id.editText);
b = (Button) findViewById(R.id.button);
li = (ListView) findViewById(R.id.listView);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
int number = Integer.parseInt(ed.getText().toString());
if (number > 0)
{
for (int a = 1; a <= 12; a++)
{
table[a] = a * number;
}
}
}
});
arrayAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_list_item_1, table['a']);
li.setAdapter(arrayAdapter);
}
}
答案 0 :(得分:1)
我尝试了您的代码并进行了一些更改以使其正常工作..
public class MainActivity extends AppCompatActivity
{
EditText ed;
Button b;
ListView li;
ArrayList table =new ArrayList();
ListAdapter arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click();
}
public void click() {
ed = (EditText) findViewById(R.id.editText);
b = (Button) findViewById(R.id.button);
li = (ListView) findViewById(R.id.listView);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
int number = Integer.parseInt(ed.getText().toString());
if (number > 0) {
for (int a = 0; a < 11; a++) {
table.add(a * number);
}
}
arrayAdapter = new ArrayAdapter<Integer>(view.getContext(), android.R.layout.simple_list_item_1, table);
li.setAdapter(arrayAdapter);
}catch (Exception e)
{
e.printStackTrace();
}
}
});
}
}
我将适配器移动到了click()并使用了ArrayList而不是整数Array ...试试这个....
希望这有助于.. :))
答案 1 :(得分:0)
您可能有一个indexOutOfBounds错误,因为您的数组大小为11,但迭代到13的大小。
更改您的
int table[]= new int[11];
到
int table[]= new int[13];
也改变了
arrayAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_list_item_1, table['a']);
到
arrayAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_list_item_1, table);