ListFragment avec Adaptateur Personnalisé
J'ai mis un listfragment
dans mon projet. mais il semble que mon fragment ne peux pas obtenir juste avec ma carte. sa raison de Context context
dans MyListAdapter
. si je clique sur corriger. il se change en MenuFragment menuFragment
. Mais après que les modifications, MyListAdapter
a reçu l'erreur. j'ai donc corriger. il se change en Context context
. et encore si je la corriger, sa va encore et encore. sa boucle comme ça.
Note: Ce que je veux réaliser est ListFragment avec l'icône. comme mon autre question avant (mais malheureusement pas de réponse).
public class MenuFragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String [] proMenu ={ "Homies", "Best Nearby", "Coupon" , "Profile" , "History" , "", "Setting" ,
"About" , "Sign Out"};
setListAdapter(new MyListAdapter(this, proMenu));
}
@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
Fragment newContent = null;
switch (position) {
case 0:
newContent = new ColorFragment();
break;
case 1:
Intent intent7 = new Intent();
intent7.setClass(getActivity(), Home.class);
intent7.putExtra("index", position);
startActivity(intent7);
break;
EDIT : C'est ma mise en page. son tout à fait bien maintenant. je viens d'avoir à modifier le textview et linéaire de la mise en page, de sorte que la parole de ne pas la couper en deux. mais je suis confronté à un autre problème. c'est comme l'image d'arrière-plan s'entassent les uns des autres. c'est le xml dans ma mise en page.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:cacheColorHint="#00000000"
android:background="@drawable/menu_drawer">
<ImageView
android:id="@+id/row_icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/row_title"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:padding="10dp"
android:text="Medium Text"
android:textSize="20dp"
android:textAppearance="@android:style/TextAppearance.Medium" />
</LinearLayout>
Et si j'enlève ce android:background="@drawable/menu_drawer"
de la linear layout
. il sera le parfait arrière-plan. ne pas empiler les uns des autres. mais quand je suis à la glisser dans la liste, le fond aller de noix, de son parti et montrant un peu de fond noir. ses comme le problème avec listview android:cacheColorHint="#00000000"
. j'ai déjà ajouté que cachecolor
dans linear layout
. mais sa reste de ces arrière-plan noir. son comme ça.
je sais quel est le problème. c'est parce que l'arrière-plan par défaut sont noirs. mais je ne sais pas comment le résoudre.
EDIT2 : Noir le Problème est Résolu.
RÉSOLU.
android:layout_height="50dp"
pour la hauteur de ligne, donc il est normal que le texte sera coupé comme il ne peut pas l'ajustement de la hauteur(surtout que vous utilisez un 20dp taille(utilisation de la sp au lieu de cela)). Utilisation wrap_content
pour la hauteur de ligne. Deuxièmement, la cacheColorHint
attribut doit être utilisé sur le ListView
et pas la ligne de fond(vous pouvez l'installer dans le code).je vous remercie. vous m'avez sauvé beaucoup. en fait, j'ai 1 question finale. comment faire de l'espace entre l'histoire et le contexte. ainsi, le 3 liste sera dans le botton (décor, au sujet de & déconnexion).
Si c'est une sorte de menu, alors vous êtes mieux en remplaçant le
ListView
avec un LinearLayout
qui contiendra les lignes de sorte que vous pourriez écartez-les comme vous voulez. Vous pouvez toujours le faire à l'aide de la ListView
par le calcul de l'espace nécessaire pour l'écran et en ajoutant une ligne vide à la hauteur.merci. j'ai mis à jour la question 😀 en fait sa le menu. slidemenu de jfeinstein10
J'ai dit à insérer une ligne vide pour calculer la bonne hauteur. Vous devriez vraiment commencer une nouvelle question à ce sujet.
OriginalL'auteur Nicolas | 2013-04-11
Vous devez vous connecter pour publier un commentaire.
Vous ne passez pas valide
Context
à votre carte, unFragment
n'est pas unContext
. Vous avez besoin d'utiliser , par exemple, unActivity
comme leContext
:J'espère que vous aussi mettre en œuvre les
getCount()
méthode dans l'adaptateur, sinon vous ne verrez pas quelque chose dans leListView
n'importe comment beaucoup d'éléments que vous avez.Le texte est coupé en bas? Vous pouvez poster votre fichier de mise en page?
j'ai édité la question "l'ajout de la disposition". Merci
OriginalL'auteur Luksprog
OriginalL'auteur Vinod Joshi
Pendant que vous la création de votre Adaptateur Personnalisé ne passe pas "Contexte" de l'objet à titre de référence seulement passer à l'objet d'Activité de la Coutume Adaper.
OriginalL'auteur Vinod Joshi