Я изучаю Android и придерживался этого. Я хочу сделать проект в Android. В MainActivity у меня есть кнопка и вы хотите установить событие onClick() таким образом, чтобы нажимать его, если текст кнопки «SOLVE», затем добавьте фрагмент «Выход» и измените имя кнопки на «BACK», и если текст кнопки «BACK», то добавьте фрагмент Input и измените текст Button на «SOLVE».Как изменить Фрагмент в Android
Вот мой код MainActivity.java
package com.example.sudokusolver;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends ActionBarActivity {
Button a
String check ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
a=(Button) findViewById(R.id.press);
check=a.getText().toString();
a.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(check.equals("SOLVE")){
Output OP=new Output();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft =
fragmentManager.beginTransaction();
ft.add(R.id.frag,OP);
ft.commit();
a.setText("BACK");
}
else
{
Input IP=new Input();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft =
fragmentManager.beginTransaction();
ft.add(R.id.frag,IP);
ft.commit();
a.setText("SOLVE");
}
}
});
}
}
здесь main_activit.xml файлу
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/frag"
android:layout_weight="1"
android:layout_width="fill_parent"
android:layout_height="0dp"
/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="90dp">
<Button
android:id="@+id/press"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/show" />
</RelativeLayout>
</LinearLayout>
Проблема заключается в том (вы, возможно, видели), я не могу сравнить (проверка строка) не -строчная переменная внутри внутреннего класса. Поэтому, пожалуйста, помогите мне в этом, и если вы думаете, что моя идея неправильная, то предложите мне правильный путь.
(если другие файлы требуют, то скажите мне, я буду редактировать)
EDIT
Существует что-то не так с моей логикой. когда я сначала нажимаю «Решить», он поворачивается к «Назад». Но когда я нажимаю «Назад», он не переходит к «Решать». Я хочу Решить> Назад> Решить> Назад ... Я что-то упустил? (возможно, в сделке с добавлением/заменой?)
определите виды по всему миру .. не нужно обрабатывать окончательные .. – Ranjit
Если кнопка не имеет смысла, кроме этого, не нужно объявлять ее «final» или объявлять ее глобально. Просто используйте 'view' из аргументов в' onClick'. В 'view' есть сама' Button' – Panther
В моей логике что-то не так. когда я сначала нажимаю «Решить», он поворачивается к «Назад». Но когда я нажимаю «Назад», он не переходит к «Решать». Я хочу Решить> Назад> Решить> Назад ... Я что-то упустил? (возможно, в транзакции add/replace?) – ajay