2013-06-11 3 views
-1

Может ли кто-нибудь помочь? Мне нужно сгенерировать случайное число, а затемгенератор случайных чисел, android

public class MainActivity extends Activity implements OnClickListener { 

    TextView tv1; 
    Button bt1; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     bt1 = (Button) findViewById(R.id.button1); 
     bt1.setOnClickListener(this); 
     tv1 =(TextView) findViewById(R.id.textView1); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

    @Override 
    public void onClick(View v) { 
     switch(v.getId()){ 
      case R.id.button1: 
       Random r = new Random(); 
       int i1=r.nextInt(80-65) + 65; 
       tv1 = (TextView) findViewById(R.id.textView1); 
       tv1.setText(i1); 
       break;}; 
     } 
    } 

И после этого он закрывает приложение после нажатия кнопки.

+0

Что вы видели в файлах журнала ('CatLog' rocks) – ashes999

ответ

3

Изменить

tv1.setText(i1); 

с

tv1.setText(String.valueOf(i1)); 

с tv1.setText(i1); вы ищете строку с идентификатором i1, внутри string.xml. Это id, вероятно, не существует и будет причиной аварии на ResourcesNotFoundException

Edit: tv1 = (TextView) findViewById(R.id.textView1); внутри OnClick бесполезно, так как вы выполняете ту же инициализацию внутри OnCreate. Также вы можете перемещать Random r = new Random(); внутри onCreate. Конечно, вы должны держать r в качестве члена класса

+0

' tv1 = (TextView) findViewById (R.id.textView1) '; инициализация каждый раз при нажатии кнопки может быть удалена и, вероятно, это «Random r = new Random()»; может быть перемещен за пределы кнопки – Raghunandan

+0

@ Raghunandan вы правы – Blackbelt

+0

Я только что упомянул, чтобы вы могли добавить это также как часть своего ответа. кстати, вы очень быстро ответили – Raghunandan

Смежные вопросы