Android LinearLayout小部件无法强制转换为popupwindow中的Textview小部件、Listview

Android LinearLayout小部件无法强制转换为popupwindow中的Textview小部件、Listview,android,android-layout,listview,textview,popup,Android,Android Layout,Listview,Textview,Popup,好的,我遇到了这个问题,我有一个包含Listview的弹出窗口,我试图将选定的数据字符串放入弹出窗口之外的主活动中的textview,当Listview位于主活动中时,所有这些都正常工作,但当我将其放入弹出窗口时,我开始得到 android.widget.LinearLayout cannot be cast to android.widget.TextView 以下是我尝试检索字符串的弹出窗口中的代码: word_lst.setOnItemClickListener(new AdapterV

好的,我遇到了这个问题,我有一个包含Listview的弹出窗口,我试图将选定的数据字符串放入弹出窗口之外的主活动中的textview,当Listview位于主活动中时,所有这些都正常工作,但当我将其放入弹出窗口时,我开始得到

android.widget.LinearLayout cannot be cast to android.widget.TextView
以下是我尝试检索字符串的弹出窗口中的代码:

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);


        }

您正在尝试将视图强制转换为行中的文本视图

TextView wordView = (TextView) view;
因此,删除这一行,在布局中放置一个textview,并通过代码调用它。 排队

String wordChosen = (String) wordView.getText();
更正为 字符串WordSelected=wordView.getText().toString()


希望这能解决您的问题

您能在为ListViewdone设置适配器的地方添加代码段吗!查看@sanjeetytyou必须更改
TextView wordView=(TextView)视图
to
TextView wordView=(TextView)view.findviewbyd(R.id.yourTextViewId)
@luawait等等,我正在从listview获取字符串,那么(yourtextviewId)应该如何工作呢?比如,我们在这里谈论的是什么文本视图ID?我想我在这里遗漏了一些东西@Sanjeethere视图将是根布局(而不是TextView),它被用来在ListView中膨胀。因此,如果尝试将其强制转换为文本视图,它将抛出异常@luahi,是的,您在布局中放置文本视图是什么意思?在您的xml文件中,我的意思是在弹出的xml中放置文本视图?为何它做什么?我问是因为我不明白,我正在从弹出窗口的Listview中检索一个字符串,并将其放在主活动的textview中
 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);
TextView wordView = (TextView) view;
String wordChosen = (String) wordView.getText();