Я работаю с навигационным ящиком, и я хочу вызвать класс testActivity.java, когда кто-то нажимает на элемент, находящийся в скользящем меню. В настоящее время мои кавычки MainActivity.java обращаются к FragmentOne, FragmentTwo, FragmentThree при скольжении пункт меню selected..I хотите заменить это testActivity.javaкак вызвать класс активности из фрагмента
вот мой MainActivity.java
public class MainActivity extends FragmentActivity {
final String[] data ={"one","two","three"};
final String[] fragments ={
"core.layout.FragmentOne",
"core.layout.FragmentTwo",
"core.layout.FragmentThree"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter<String> adapter = new ArrayAdapter<String> (getActionBar().getThemedContext(), android.R.layout.simple_list_item_1, data);
final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
final ListView navList = (ListView) findViewById(R.id.drawer);
navList.setAdapter(adapter);
navList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){
drawer.setDrawerListener(new DrawerLayout.SimpleDrawerListener(){
@Override
public void onDrawerClosed(View drawerView){
super.onDrawerClosed(drawerView);
FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.main, Fragment.instantiate(MainActivity.this, fragments[pos]));
tx.commit();
}
});
drawer.closeDrawer(navList);
}
});
FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.main,Fragment.instantiate(MainActivity.this, fragments[0]));
tx.commit();
}
}
вот мой FragmentOne.java Calss .. Все остальные FragmentTwo и FragmentThr классы ee.java, имеющие такой же код.
public class FragmentOne extends Fragment {
public static Fragment newInstance(Context context) {
FragmentOne f = new FragmentOne();
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
ViewGroup root = (ViewGroup) inflater.inflate(R.layout.fragment_one, null);
View view = inflater.inflate(R.layout.fragment_one,container, false);
return root;
}
}
Это мой testActivity.java класс
public class testActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
}
}
Вы имеете в виду это в классе FragmentOne? .. но его не работает? Intent intent = new Intent (getActivity(), testActivity.class); getActivity(). StartActivity (намерение); – san88
Я надел их так. Нет ошибок или ошибок во время выполнения. Но просто не отображается файл макета ... public View onCreateView (LayoutInflater inflater, контейнер ViewGroup, Bundle savedInstanceState) { ViewGroup root = (ViewGroup) inflater.inflate (R.layout.fragment_one, null); View view = inflater.inflate (R.layout.fragment_one, контейнер, false); Целевое намерение = новое намерение (getActivity(), testActivity.class); getActivity(). StartActivity (намерение); вернуть корень; } – san88
Попробуйте использовать функцию getActivity для ParentActivity. Я добавил свой ответ, чтобы добавить образец кода. – Sushil