Я пишу приложение для своего устройства Android, которое содержит три кнопки в нижней части экрана. В моем методе onCreate
я устанавливаю три объекта Button
в соответствующие их представления, используя findViewById()
. Вот код, который я написал:Android: Кнопка рассматривается как tableLayout?
public class MainActivity extends AppCompatActivity {
Button btnAdd = null;
Button btnEdit = null;
Button btnDelete = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAdd = (Button) findViewById(R.id.btnAdd);
btnEdit = (Button) findViewById(R.id.btnEdit);
btnDelete = (Button) findViewById(R.id.btnDelete);
init(getApplicationContext());
btnAdd.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
EventWriter.writeToFile(eventFile, getApplicationContext());
}
});
}
...
}
Мой XML выглядит следующим образом, с кнопкой элементов, объявленных в RelativeLayout
:
<Button
android:id="@+id/btnDelete"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/scrollView1"
android:layout_alignRight="@+id/scrollView1"
android:layout_alignParentBottom="true"
android:text="@string/txtBtnDelete" />
<Button
android:id="@+id/btnAdd"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/scrollView1"
android:layout_alignLeft="@+id/scrollView1"
android:layout_alignParentBottom="true"
android:text="@string/txtBtnAdd" />
<Button
android:id="@+id/btnEdit"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="@string/txtBtnEdit" />
Когда я пытаюсь запустить приложение, используя эмулятор в Eclipse, Я получаю следующее сообщение об ошибке LogCat на линии № 36 (btnDelete = (Button) findViewById(R.id.btnDelete);
):
Caused by: java.lang.ClassCastException: android.widget.TableLayout cannot be cast to android.widget.Button
Я есть TableLayout
ранее в коде (находится внутри ScrollView
), но не содержит кнопки:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="300dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="@+id/actvSearchEvent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/actvSearchEvent"
android:layout_above="@+id/btnAdd"
android:layout_marginTop="32dp"
android:background="@drawable/scrollview_border" >
<TableLayout
android:id="@+id/tlTable"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableLayout>
</ScrollView>
Я не вижу, где это становится, что я пытаюсь бросить TableLayout
к Button
. У кого-нибудь есть идеи?
Вы на самом деле избили меня, я только что очистил проект, и все получилось просто отлично. Я как раз собирался опубликовать свой ответ. – DerStrom8