我会尽力发布相关代码并解释清楚......我正在关注Android上的教程;这是一个 ListView 应用程序,我现在将其转换为片段。它告诉我将我的一门课程从 更改extends ListActivity
为extends Activity
。这样做时,我对 ListActivity 的两个调用需要更改。我以为我正确地更改了它们,但我收到了这些错误(只是列表的顶部):
W/dalvikvm(4486): threadid=1: thread exiting with uncaught exception (group=0x40209760)
E/AndroidRuntime(4486): FATAL EXCEPTION: main
E/AndroidRuntime(4486): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.testing/com.example.testing.MainActivity}:
java.lang.ClassCastException: android.widget.FrameLayout cannot be cast to android.widget.ListView
我认为相关的部分我的主要活动代码是:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_fragment);
ListView lv = (ListView) findViewById(R.id.list_fragment);
lv.setAdapter(ArrayAdapter.createFromResource(getApplicationContext(),
R.array.tut_titles, R.layout.activity_main));
final String[] links = getResources().getStringArray(R.array.tut_links);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick......
}
});
}
lv 变量是新的,使用它进行的两次调用曾经是特定于 ListActivity 的。到目前为止,我的 list_fragment 只是这样:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.example.testing.UrlFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_fragment">
</fragment>
呸!我认为这就是所需要的,但如果我确定的话,我可能会自己解决这个问题。任何人都可以帮忙吗?