Fragment
fragment基础
package com.example.day1010;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import com.example.day1010.fragmeent.BlankFragment;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = manager.beginTransaction();
BlankFragment blankFragment = new BlankFragment();
fragmentTransaction.add(R.id.ll,blankFragment);
fragmentTransaction.commit();
}
}
fragment跳转
package com.example.app2;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.widget.RadioButton;
import com.example.app2.fragmeent.BlankFragment;
import com.example.app2.fragmeent.BlankFragment2;
public class MainActivity extends AppCompatActivity {
private RadioButton radioButtonPerson;
private RadioButton radioButtonImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
radioButtonPerson = (RadioButton) findViewById(R.id.radioButton_person);
radioButtonImage = (RadioButton) findViewById(R.id.radioButton_image);
FragmentManager manager = getSupportFragmentManager();
final FragmentTransaction fragmentTransaction = manager.beginTransaction();
final BlankFragment blankFragment = new BlankFragment();
fragmentTransaction.add(R.id.ll, blankFragment);
final BlankFragment2 blankFragment2 = new BlankFragment2();
fragmentTransaction.add(R.id.ll, blankFragment2);
fragmentTransaction.hide(blankFragment2);
fragmentTransaction.commit();
radioButtonPerson.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager manager1 = getSupportFragmentManager();
FragmentTransaction fragmentTransaction1 = manager1.beginTransaction();
fragmentTransaction1.show(blankFragment);
fragmentTransaction1.hide(blankFragment2);
fragmentTransaction1.commit();
}
});
radioButtonImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager manager1 = getSupportFragmentManager();
FragmentTransaction fragmentTransaction1 = manager1.beginTransaction();
fragmentTransaction1.show(blankFragment2);
fragmentTransaction1.hide(blankFragment);
fragmentTransaction1.commit();
}
});
}
}
Activity给fragment传值
package com.example.app3;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import com.example.app3.fragment.ContextFragment;
public class MainActivity extends AppCompatActivity {
private EditText editTextId;
private Button buttonId;
private LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextId = (EditText) findViewById(R.id.editText_id);
buttonId = (Button) findViewById(R.id.button_id);
ll = (LinearLayout) findViewById(R.id.ll);
FragmentManager manager = getSupportFragmentManager();
final FragmentTransaction fragmentTransaction = manager.beginTransaction();
fragmentTransaction.add(R.id.ll,new ContextFragment());
fragmentTransaction.commit();
buttonId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String string = editTextId.getText().toString();
FragmentManager manager1 = getSupportFragmentManager();
FragmentTransaction fragmentTransaction1 = manager1.beginTransaction();
ContextFragment contextFragment = new ContextFragment();
Bundle bundle = new Bundle();
bundle.putString("key",string);
contextFragment.setArguments(bundle);
fragmentTransaction1.replace(R.id.ll,contextFragment);
fragmentTransaction1.commit();
}
});
}
}
package com.example.app3.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.app3.R;
public class ContextFragment extends Fragment {
private TextView textViewId;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_context, container, false);
textViewId = (TextView) inflate.findViewById(R.id.textView_id);
setArguments();
Bundle bundle = getArguments();
if (bundle != null){
String key = bundle.getString("key");
textViewId.setText(key);
}
return inflate;
}
}
静态绑定
<fragment
android:id="@+id/fragment_id"
android:name="com.example.practice2.fragment.FirstFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></fragment>
动态绑定
package com.example.practice2;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.widget.LinearLayout;
import com.example.practice2.fragment.SecondFragment;
public class MainActivity extends AppCompatActivity {
private LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ll = (LinearLayout) findViewById(R.id.ll);
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = manager.beginTransaction();
fragmentTransaction.add(R.id.ll,new SecondFragment());
fragmentTransaction.commit();
}
}