Android Uygulamaları'nda oldukça yeni yaşıyorum, bu yüzden burada biraz yardım bulabilirim. Zaten burada sorunumu aradım ve bir şey buldum, ancak bu işe yaramıyor.Android: Basit bir Fragman Eklemek
FrameLayout öğesine bir Fragman eklemek istiyorum, ancak çalışmaz. Amacım her zaman mevcut olan bir Çerçeve (/ Framework?) Oluşturmayı ve kullanıcı ile etkileşime girebiliyor ve bu Çerçeve içinde belirli bir "pencerede" gösterebiliyorum. Sayfaları/fragmanları görüntülemek istiyorum, toplamda beş, ve değiştirilebilen beeing sayfaları/parçaları herhangi bir zamanda, her zaman mevcut bir Çerçevem var ve bu dinamik olarak değişen sayfaların içinde. (. Zaten btw çalışıyor) Ama şimdilik bu Frame için basit fragman ekleyerek başında şaşırıp
Bu umarım tüm ilgili kodudur: Hata MainActivity.java oluşur (. getSupportFragmentManager() beginTransaction() ekleyin (R.id.mainFrame, homeFragment) .commit();) bana söyler:.
Error:(25, 55) error: no suitable method found for add(int,HomeFragment) method FragmentTransaction.add(Fragment,String) is not applicable (argument mismatch; int cannot be converted to Fragment) method FragmentTransaction.add(int,Fragment) is not applicable (argument mismatch; HomeFragment cannot be converted to Fragment)
zaten Fragment homeFragment döküm çalıştı, ancak bu işe yaramadı .
MainActivity.java
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity
{
FragmentTransaction fragmentTransaction;
HomeFragment homeFragment;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
homeFragment = new HomeFragment();
**getSupportFragmentManager().beginTransaction().add(R.id.mainFrame, homeFragment).commit();**
}
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame" >
<FrameLayout
android:id = "@+id/mainFrame"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:layout_marginBottom = "@dimen/bottom_Main_Tabs">
</FrameLayout>
[...]
</FrameLayout>
fragment_home.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.HomeFragment"> // it is not really com.example...
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
</FrameLayout>
HomeFragment.java (herşey otomatik olarak oluşturulan edilir Henüz değil, ama zaten bir şey kesip)
public class HomeFragment extends Fragment
{
private OnFragmentInteractionListener mListener;
public static HomeFragment newInstance()
{
HomeFragment fragment = new HomeFragment();
return fragment; // not really neccessary, because it Have shortened it
}
public HomeFragment()
{
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_home, container, false);
}
// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri)
{
if (mListener != null)
{
mListener.onFragmentInteraction(uri);
}
}
@Override
public void onAttach(Activity activity)
{
super.onAttach(activity);
try
{
mListener = (OnFragmentInteractionListener) activity;
}
catch (ClassCastException e)
{
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentInteractionListener");
}
}
@Override
public void onDetach()
{
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener
{
// TODO: Update argument type and name
public void onFragmentInteraction(Uri uri);
}
}
Birisi bana yardım edebilir mi?
John
Yanıtlayıcı doğrudur, sorun, her Parçayla ilgili sınıfın destek kitaplığını kullanmamanızdır. – EpicPandaForce