java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView
android, android-linearlayout, textview
Solution
use only
TextView textview = (TextView)findViewById(R.id.textView1);
String info = textview.getText().toString();
Problem
I've this error when I use my application : ``` 05-01 14:18:41.000: E/AndroidRuntime(26607): FATAL EXCEPTION: main 05-01 14:18:41.000: E/AndroidRuntime(26607): java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView ``` The method with the issue : ``` public void onItemClick(AdapterView<?> adapterView, View view, int postion, long index) { // Get MAC adress matching the last 17 characters of the TextView String info = ((TextView) view).getText().toString(); // HERE IS THE ISSUE String address = info.substring(info.length() - 17); Intent intent = new Intent(); intent.putExtra(EXTRA_DEVICE_ADDRESS, address); setResult(Activity.RESULT_OK, intent); BluetoothDevice device = (BluetoothDevice) view.getTag(); showEquipementActivity(device); } ``` And the XML File : ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/ImageView_tactea" android:layout_width="200dp" android:layout_height="75dp" android:src="@drawable/tactea" android:layout_gravity="center" android:visibility="visible" /> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5dip" > <TextView android:id="@+id/textView1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/label_list_of_devices" android:textSize="17dip" android:textStyle="bold" /> <Button android:id="@+id/buttonScan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/label_scan" /> </LinearLayout> <ListView android:id="@+id/listViewDevices" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" > </ListView> </LinearLayout> ``` This XML file is to display paired bluetooth devices and news devices found. Can you help me ? How to change those lines ? ``` String info = ((TextView) view).getText().toString(); // HERE IS THE ISSUE String address = info.substring(info.length() - 17); ``` Update: I get following error: ``` 05-01 14:39:33.150: E/AndroidRuntime(7160): FATAL EXCEPTION: main 05-01 14:39:33.150: E/AndroidRuntime(7160): java.lang.NullPointerException 05-01 14:39:33.150: E/AndroidRuntime(7160): at com.example.cajou.DiscoverDevicesActivity.onItemClick(DiscoverDevicesActivity.java:179) 05-01 14:39:33.150: E/AndroidRuntime(7160): at android.widget.AdapterView.performItemClick(AdapterView.java:301) 05-01 14:39:33.150: E/AndroidRuntime(7160): at android.widget.AbsListView.performItemClick(AbsListView.java:1276) ``` UPDATE 2 : I've tried : ``` TextView textview=(TextView) ((LinearLayout)view).findViewById(R.id.textView1); String info = textview.getText().toString(); ``` But I've an issue with this line : ``` String info = textview.getText().toString(); ``` UPDATE 3 : I've tried : ``` LinearLayout ll = (LinearLayout) view; TextView tv = (TextView) ll.findViewById(R.id.textView1); final String info = tv.getText().toString(); ``` But same issue... This line is the issue : ``` final String info = tv.getText().toString(); ```