2015-01-28 3 views
-1

Я знаю, это было предложено раньше, но я не могу сделать эту работу, так вот что я до сих порКак добавить в TextView при нажатии кнопки

class Click extends Activity { 
int i=0; 
protected void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.activity_main); 
    final TextView mTextView = (TextView) findViewById(R.id.Counter); 
    mTextView.setText(""+i); 

    final Button button = (Button) findViewById(R.id.AddOne); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // Perform action on click 
      TextView tv= (TextView) findViewById(R.id.Counter); 

      i=i+1; 
      mTextView.setText(Integer.toString(i)); 
     } 
    }); 
} 

Каждый раз, когда я запустить приложение в эмулятор он выходит из строя

java.lang.IllegalStateException: Could not find a method Click(View) in the activity class com.scouting.corbin.frc_201415_scouting.MainActivity for onClick handler on view class android.widget.Button with id 'AddOne' 

Я знаю, что это, вероятно, что-то совершенно глупо, но я новичок в этом и нуждаются в помощи заранее спасибо.

+0

показать мне ваши 'activity_main.xml' –

+0

Показать код класса 'MainActivity' –

+0

Вероятно, вы добавили' android: onClick' для кнопки 'AddOne' в xml, но забудьте создать тот же метод в коде операции. –

ответ

0

Хорошо, так что все вы помогли мне полностью избавиться от этого кода, который был слишком сложным для того, что я пытался сделать. После приема битов предложений и некоторых Reasearch я придумал этот

public void AddOne(View v) { 


     TextView tv= (TextView) findViewById(R.id.Counter); 


    i=i+1; 
    tv.setText(""+i); 
} 

Как вы можете видеть гораздо проще, чем то, что у меня было раньше, и это работает спасибо всем

0

Вам нужно взять корневой элемент здесь. В зависимости от родительского макета включите эту строку в действие после setContentView().

RelativeLayout layout=(RelativeLayout)findViewById(R.id.yourLayoutId);// If its some other layout change "RelativeLayout" to your opted layout. 

и в onClick() метод кнопки, добавить следующее.

layout.add(tv); 
1

В соответствии с вашим логарифмом.

java.lang.IllegalStateException: Не удалось найти метод Click (View) в классе активности com.scouting.corbin.frc_201415_scouting.MainActivity для обработчика OnClick на вид класса android.widget.Button с идентификатором 'AddOne'

Я предлагаю вам добавить Click(View v) в вашем MainActivity

public void Click(View v) 
{ 

} 
0

Yopu хотите добавить один линейный макет в xml-файле и установить идентификатор для вашего LinearLayout.

android:id="@+id/linearlayout" 

И изменить метод addTextView к следующему

public void addTextView(String text){ 

LinearLayout layout=(LinearLayout)findViewById(R.id.linear); 
TextView textView=new TextView(this); 
textView.setText(text); 
textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 
layout.addView(textView); 
} 

и вызвать этот метод из вашего Forloop

0

Возможно рассмотреть вопрос об использовании атрибута android:onClick="example_method" для кнопки в файле XML. Затем создайте соответствующий метод в классе. public void example_method(View v) {} Затем поместите код, который у вас есть в вашей функции onClick, в новую. Это проще, чем прослушивание.

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