【问题标题】:"android.widget.LinearLayout" cannot be cast to "android.widget.TextView" in the ListView onItemClick“android.widget.LinearLayout”不能在ListView onItemClick 中强制转换为“android.widget.TextView”
【发布时间】:2012-04-09 11:23:35
【问题描述】:

我正在尝试将来自ListView 的选定值放入Toast

listView1.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> a, View v, int pos, long id){
          // Now you have the id, you can set the background colour.
         Toast.makeText(getBaseContext(),((TextView)v).getText(), Toast.LENGTH_LONG).show();
    }
});

我得到的错误:

Error: android.widget.LinearLayout cannot be cast to android.widget.TextView

【问题讨论】:

    标签: android textview android-listview toast


    【解决方案1】:

    如果您的ListView 行布局不只包含TextView,您将得到该异常(TextView 不能用LinearLayout 或其他东西包装)。相反,您可以这样做:

    public void onItemClick(AdapterView<?> a, View v, int pos, long id){
        LinearLayout parent = (LinearLayout) v;
        TextView t = (TextView) parent.findViewById(R.id.the_id_of_the_textview);
        Toast.makeText(getBaseContext(), t.getText(), Toast.LENGTH_LONG).show();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多