Docopt имеет реализацию C, которую я считал довольно приятной: https://github.com/docopt/docopt.c
Из стандартного формата в формате man, параметры командной строки, docopt infers и создает парсер аргументов. Это началось в python; версия python буквально просто анализирует docstring и возвращает dict. Для этого в C требуется немного больше работы, но он чист в использовании и не имеет внешних зависимостей.
Ваш код должен быть внутри метода onCreate
, попробуйте:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
// Find the View that shows the numbers category
TextView numbers = (TextView) findViewById(R.id.numbers);
// Set a click listener on that View
numbers.setOnClickListener(new View.OnClickListener() {
// The code in this method will be executed when the numbers View is clicked on.
@Override
public void onClick(View view) {
Intent numbersIntent = new Intent(MainActivity.this, Numbers.class);
startActivity(numbersIntent);
}
}
}
Подробнее о действиях и их жизненном цикле: Жизненный цикл активности
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
// Find the View that shows the numbers category
TextView numbers = (TextView) findViewById(R.id.numbers);
// Set a click listener on that View
numbers.setOnClickListener(new View.OnClickListener() {
// The code in this method will be executed when the numbers View is clicked on.
@Override
public void onClick(View view) {
Intent numbersIntent = new Intent(MainActivity.this, Numbers.class);
startActivity(numbersIntent);
}
}
или:
public class MainActivity extends AppCompatActivity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
// Find the View that shows the numbers category
TextView numbers = (TextView) findViewById(R.id.numbers);
// Set a click listener on that View
numbers.setOnClickListener(this);
}
@Override
public void onClick(View view) {
Intent numbersIntent = new Intent(MainActivity.this, Numbers.class);
startActivity(numbersIntent);
}
}
Ваш onClickListener должен быть в вашем методе onCreate.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.activity_main);
// Find the View that shows the numbers category
TextView numbers = (TextView) findViewById(R.id.numbers);
// Set a click listener on that View
numbers.setOnClickListener(new View.OnClickListener() {
// The code in this method will be executed when the numbers View is clicked on.
@Override
public void onClick(View view) {
Intent numbersIntent = new Intent(MainActivity.this, Numbers.class);
startActivity(numbersIntent);
}
});
}
}
Это должно исправить ошибку. Также убедитесь, что вы добавили Numbers.class в AndroidManifest, иначе вы получите еще одну ошибку при запуске намерения.
<activity
android:name=".Numbers"
android:label="Numbers"/>