申请未开通

时间:2016-08-08 07:29:37

标签: android

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);
    }
}

2 个答案:

答案 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);