0

好的,所以我已经尝试自己解决这个问题,但即使我在stackoverflow上找到了一个已回答的问题(即这个错误“令牌上的语法错误,错位的构造,在这个令牌MainActivity.java之后预期的VariableDeclaratorId”)我仍然有问题。我有一个名为 HeadlinesActivity 的活动,它通过单击按钮从 MainActivity 启动。我遇到了与我链接的问题中的问题相同的问题,但是我按照建议将 ListView 声明和其他相关内容移到了我的 onCreate() 中,这样就消除了 eclipse 中的错误。但是,现在当我尝试在模拟器上测试应用程序时,如果我尝试单击标题按钮,Android 会显示一条消息,说我的应用程序已停止。这是我的 HeadlinesActivity 代码:

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class HeadlinesActivity extends Activity {

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_headlines);

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // Show the Up button in the action bar.
        getActionBar().setDisplayHomeAsUpEnabled(true) ;
    }

    final ListView listView = (ListView) findViewById(R.id.listView1);
    final String[] values = { "Android", "iPhone", "WindowsMobile",
      "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
      "Linux", "OS/2" } ;
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
      R.layout.activity_headlines, R.id.textView1, values);

    // Assign adapter to ListView
    listView.setAdapter(adapter) ;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_headlines, menu);
    return true;
}

}
4

1 回答 1

1

您在 Activity 和每个 ListView 行中使用相同的布局...

  • Activity 的布局应该有 ListView(以及你想要的任何东西)。
  • ListView 行不应该有 ListView 元素......它应该包含更基本的构建块,如 TextViews、ImageViews 等

至于当前的错误,我猜它activity_headlines.xml没有带有 id 的 ListViewlistView1或带有 id 的 TextView textView1。尝试:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
于 2013-02-18T16:48:29.027 回答