Область действия переменной ограничена функцией, в которой вы все это объявляете (предположительно onCreate()
?). Это означает, что переменная обычно уничтожается в конце функции (делая ее недоступной для слушателя onClick), но если вы объявите ее как final, компилятор может, в некотором смысле, обмануть и сохранить ее. Если вы хотите сохранить переменную для использования вне вашей функции, она должна быть переменной класса.
public class MyClass extends Activity{
private int punkte = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
//Do stuff ...
TextView counter = (TextView) findViewById(R.id.counter);
counter.setText(Integer.toString(punkte));
TextView next = (TextView) findViewById(R.id.Farbent1);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
punkte=punkte+1;
}
});
}
}