okay, so habe ich dieses Problem, wo ich ein Popup, das eine Listview enthält und ich versuche, die ausgewählte Zeichenfolge von Daten in textview in der Haupttätigkeit außerhalb des Popup, die alle normal funktionierten, wenn die Listenansicht in der Haupttätigkeit ist, aber wenn ich es mich in einem Popup setzen begann bekommenLinearLayout Widget kann nicht in Textview Widget, Listview in Popupwindow
android.widget.LinearLayout cannot be cast to android.widget.TextView
hier ist der Code für aus dem Popup, wo ich versuche, die zum abrufen string:
word_lst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//click listener for items within list
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//cast the view
TextView wordView = (TextView) view;
//retrieve the chosen word
String wordChosen = (String) wordView.getText();
Log.v("WORD: ", "chosen: " + wordChosen);
//output Toast message
Toast.makeText(viewpop.this, "You said: " + wordChosen, Toast.LENGTH_SHORT).show();
repeatTTS.speak("You said: " + wordChosen, TextToSpeech.QUEUE_FLUSH, null);
finish();
setContentView(R.layout.activity_main);
sug_wrd = (TextView) findViewById(R.id.words_string);
sug_wrd.setText(wordChosen);
}
Hier ist das Popup-XML:
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ListView
android:id="@+id/view_List"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/words_bg"
android:paddingBottom="3dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="3dp"
/>
</LinearLayout>
und hier ist die XML für die Textview aus der Haupttätigkeit (es ist die view_btn eins):
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:weightSum="1">
<Button
android:id="@+id/view_btn"
android:layout_width="206dp"
android:layout_height="wrap_content"
android:text="@string/view_all"
android:textColor="#FFF"
android:theme="@style/MyButton" />
<Button
android:id="@+id/sug_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/sug_btn"
android:textColor="#FFF"
android:theme="@style/MyButton" />
</LinearLayout>
EDIT: Hier ist mein OnCreate für die popupwindow
public void onCreate(Bundle savedInstanceState) {
//call superclass
super.onCreate(savedInstanceState);
//set contect view
setContentView(R.layout.popupview);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int) (width * .9), (int) (height * .7));
//---
word_lst = (ListView) findViewById(R.id.view_List);
DataBaseHelper db = new DataBaseHelper(getApplicationContext());
SQLiteDatabase sqdb = db.getWritableDatabase();
Cursor cur1 = sqdb.rawQuery("SELECT * FROM wordsdata ORDER BY Enno DESC", null);
TodoCursorAdapter todoAdapter = new TodoCursorAdapter(getApplicationContext(), cur1);
word_lst.setAdapter(todoAdapter);
LayoutInflater inflater = getLayoutInflater();
final ViewGroup header = (ViewGroup) inflater.inflate(R.layout.header, word_lst, false);
word_lst.addHeaderView(header, null, false);
können Sie den Code-Snippet hinzufügen, wo Sie setzen Adapter für Listview – Sanjeet
getan lösen! schau es dir an @Sanjeet – lua
du musst 'TextView wordView = (TextView) anzeigen;' in 'TextView wordView = (TextView) view.findViewById (R.id.yourTextViewId);' @ lua – Sanjeet