У меня есть приложение, которое читает TXT-файл и отображает содержимое в макете таблицы.Перезапуск активности внутри метода onClick
вот мой MainActivity.java файл:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TableLayout(this,0));
}
}
Внутри TableLayout класс при добавлении первой строки (заголовки), я также добавить на клик слушателей.
Вот код, который запускается на выполнение, когда происходит щелчок:
public class MyOnClickListener extends MainActivity implements OnClickListener {
int rowNumber;
public MyOnClickListener(int rowNumber) {
this.rowNumber = rowNumber;
}
@Override
public void onClick(View v) {
setContentView(new TableLayout(context,rowNumber));
}
};
контекст сохраняется с момента, когда активность первого начала, но я получаю ошибку nullpointexception с этим в качестве аргумента. То, что я хотел бы сделать, когда щелкнул заголовок, - это воссоздать таблицу с аргументом номера заголовка. Итак, мой вопрос - что мне делать, чтобы перезапустить создание таблицы в методе onClick?
Edit: это как контекст сохраняется
Context context;
public TableLayout(Context context, int rowNr) {
super(context);
this.context = context;
Покажите, как вы инициализируете контекст ... Кроме того: ваш MyOnClickListener имеет конструктор, но это действие, поэтому вы не будете называть это – stealthjong
Спасибо за быстрый ответ. Я сделал это таким образом, чтобы передать параметры. И он расширяет MainActivity, поэтому setContentView() можно вызвать. Вы предлагаете другой путь? – user2961826