android.widget de.LinearLayout ne peut pas être lancé pour android.widget de.TextView
- Je ajouter un ListView
de l'exécution comme ceci:
MainMenue = getResources().getStringArray(R.array.Unit);
//remove all controls
LinearLayout formLayout = (LinearLayout)findViewById(R.id.submenue);
formLayout.removeAllViews();
menueview = new ListView(getApplicationContext());
menueview.setVisibility(ListView.VISIBLE);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.RIGHT;
menueview.setLayoutParams(params);
menueview.setAdapter(new submenueadapter(menueview.getContext(), MainMenue));
//Set the on Item
SetMenueOnClick() ;
formLayout.addView(menueview);
puis-je ajouter un élément, cliquez sur l'auditeur comme ceci:
public void SetMenueOnClick() {
menueview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
final String text = (String) ((TextView)view).getText();
}
});
}
Mais ensuite j'ai une erreur:
06-03 10:59:25.862: E/AndroidRuntime(14732): at android.view.ViewRoot.handleMessage(ViewRoot.java:2109)
android.widget.LinearLayout cannot be cast to android.widget.TextView
à cette ligne:
final String text = (String) ((TextView)view).getText();
Aucune idée de comment obtenir le texte de cette question? la carte ressemble à ceci:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.shortmenue, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.contents);
textView.setText(values[position]);
//Change icon based on name
String s = values[position];
System.out.println(s);
rowView.setBackgroundResource(R.drawable.alternate_list_color);
return rowView;
}
et R.layout.shortmenue
est simple, seulement un TextView
comme ci-dessous:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/contents"
android:textSize="34dp"
/>
</LinearLayout>
OriginalL'auteur AMH | 2012-06-03
Vous devez vous connecter pour publier un commentaire.
Votre ligne est un
TextView
enveloppé par unLinearLayout
de sorte que vous pourriez vouloir faire cela:OriginalL'auteur Luksprog
Si vous êtes en cours d'exécution sur un problème similaire, mais vous sûr que vous avez ciblé un linearLayout:
Supprimer le fichier gen/your.app.package/R.java.
Ceci se produit en raison d'un xml bug, lorsque vous supprimez R.java il sera recréé sur la prochaine build/run.
Ou juste essayer de frapper le bouton RECONSTRUCTION
OriginalL'auteur sagits
J'ai juste ajouté android:id="@+id/my_layout" LinearLayout qui a enveloppé TextView et qui a résolu un problème similaire.
OriginalL'auteur RealNmae
J'ai eu le même problème et j'ai juste renommé inséré un objet de vue.
Comme ceci:
OriginalL'auteur thrashzone
Dans mon cas, un XML contenu d'un TextView, mais j'ai fait une erreur d'écriture
au lieu de
OriginalL'auteur CoolMind
Vous pouvez résoudre ce problème en remplaçant
avec
Cela fonctionne pour moi.
OriginalL'auteur Naveen rana