Я работаю над проектом для приложения (Android) и использую Android Studio
для своей компании.Проблема в том, что я новичок в этом виде программирования.Я пришел из Windows VB
и боюсь, что работать в Android Java
не так-то просто.
Я уже создал базовый интерфейс для своего приложения и решил создать приложение на основе FrameLayout
(простокак Panels
в VB
).Все идет нормально.
Однако у меня возникают проблемы с назначением ClickListener
для Button
класса MainActivity
, потому что Button
не находится в файле activity_main.xml
.Позвольте мне показать вам, что я получил до сих пор:
Кулак, который я создал Button
и FrameLayout
для activity_main.xml
файла:
<Button
android:id="@+id/CO001"
android:layout_marginLeft="@dimen/campo007_left"
android:layout_marginTop="@dimen/campo007_top"
android:layout_width="@dimen/campo007_width"
android:layout_height="@dimen/campo007_height"
android:text="@string/co001"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:id="@+id/FR001"
android:layout_marginLeft="@dimen/field006_l"
android:layout_marginTop="@dimen/field006_t"
android:layout_width="@dimen/field006_w"
android:layout_height="@dimen/field006_h"
android:layout_marginStart="0dp"
android:visibility="invisible"
android:contentDescription="@string/app_name"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
Затем, на MainActivity.java
внутриМетод onCreate
, я объявил кнопку как bt001
и назначил ей метод setOnClickListener
, чтобы показать на этом FrameLayout
содержимое другого .xml
файла (fr001.xml
):
Button bt001 = (Button) findViewById(R.id.CO001);
bt001.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
FrameLayout fr001 = (FrameLayout) findViewById(R.id.FR001);
fr001.setVisibility(View.VISIBLE);
fr001.removeAllViews();
View frcont = getLayoutInflater().inflate(R.layout.fr001, null);
fr001.addView(frcont);}});
Это прекрасно работает.Почти как Visual Basic
.Однако на fr001.xml
у меня есть другая кнопка:
<Button
android:id="@+id/FR001CO001"
android:layout_width="200dp"
android:layout_height="130dp"
android:layout_marginLeft="432dp"
android:layout_marginTop="54dp"
android:background="@android:color/holo_red_dark"
android:text="@string/ModA"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
Когда я попытался назначить ему метод setOnClickListener
, приложение вылетает.Я думаю, это потому, что второй .xml
файл не «загружен» на MainActivity
или что-то в этом роде ...
Я уже пытался связать второй .xml
файл с другим действием и запустить его один разВы нажимаете кнопку CO001
, но в этом случае второй .xml
появляется на исходном FrameLayout
и запускается на экране приложения, и я не хочу этого.
Я уверенэта проблема имеет простое решение (а может и нет !!).Ты можешь помочь мне с этим??Любая помощь будет очень ценится.И, как всегда, заранее всем спасибо.