【问题标题】:Error when starting activity [duplicate]开始活动时出错[重复]
【发布时间】:2014-08-22 12:54:11
【问题描述】:

我有一个由四个按钮组成的活动。当我单击其中一个时,我会转到另一个活动。所有按钮都运行良好,但是当我单击第四个按钮时,应用程序停止了。必须启动的活动由 ListView 组成。这是该活动的代码:

public class InformationActivity extends ListActivity {

String[] elements = {"About", "Rate"};

public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     setContentView(R.layout.information_layout); 
     ListView listview = (ListView)findViewById(R.id.optionslist);
     listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elements));
 }

public void onListItemClick(ListView parent, View v, int position, long id) {

    if ("About".equals(elements[position]))
        {Intent i = new Intent(this, AboutActivity.class);
        startActivity(i);}
    else if ("Rate".equals(elements[position]))
        {Intent i = new Intent(this, FeedbackActivity.class);
        startActivity(i);}
    }

}

查看LogCat,发现如下错误:

08-22 12:34:57.649: E/AndroidRuntime(1361): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.isa.gestordecurso/com.isa.gestordecurso.InformationActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

我不明白这个错误。 XML中ListView的id为optionslist,在Activity中定义。

希望有一个解决方案:谢谢!

【问题讨论】:

标签: android android-listview


【解决方案1】:

第四个Activity是ListActivity,列表Activity默认列表视图id为@android:id/list,这就是它说的原因

Your content must have a ListView whose id attribute is 'android.R.id.list'

列表视图应使用以下 id =>@android:id/list

<ListView android:id="@android:id/list"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
               android:background="#00FF00"
               android:layout_weight="1"
               android:drawSelectorOnTop="false"/>`

有关 ListActivity 的更多信息,请阅读 Android 开发者here

【讨论】:

  • 谢谢!现在我可以进入列表,但我不明白为什么我无法启动所选项目的活动
  • 错误是什么??logcat
  • 现在没有错误了。我单击列表中的一项,但未显示活动。
  • 试试"About".equalsIgnoreCase(elements[position])
  • 打印elements[position]的值,我猜你没有设置列表点击监听器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 2015-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多