Android与ListView的问题
好的,我已经试着自己解决了这个问题,但即使我在stackoverflow上找到了一个答案(即这个),我仍然有问题。我有一个名为HeadlinesActivity的活动,它通过单击按钮从MainActivity启动。我遇到的问题与我链接的问题中的问题相同,但我按照建议将ListView声明和其他相关内容移动到了onCreate()中,从而消除了eclipse中的错误。然而,现在当我尝试在模拟器上测试应用程序时,如果我尝试单击标题按钮,Android会显示一条消息,说明我的应用程序已停止。 这是我的HeadlinesActivity代码:Android与ListView的问题,android,android-listview,Android,Android Listview,好的,我已经试着自己解决了这个问题,但即使我在stackoverflow上找到了一个答案(即这个),我仍然有问题。我有一个名为HeadlinesActivity的活动,它通过单击按钮从MainActivity启动。我遇到的问题与我链接的问题中的问题相同,但我按照建议将ListView声明和其他相关内容移动到了onCreate()中,从而消除了eclipse中的错误。然而,现在当我尝试在模拟器上测试应用程序时,如果我尝试单击标题按钮,Android会显示一条消息,说明我的应用程序已停止。 这是我的
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;
}
}
导入android.annotation.SuppressLint;
导入android.app.Activity;
导入android.os.Build;
导入android.os.Bundle;
导入android.view.Menu;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类标题活动扩展了活动{
@SuppressLint(“新API”)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_标题);
//确保我们在蜂巢或更高版本上运行,以使用ActionBarAPI
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.HONEYCOMB){
//在操作栏中显示“向上”按钮。
getActionBar().setDisplayHomeAsUpEnabled(true);
}
最终ListView ListView=(ListView)findViewById(R.id.listView1);
最终字符串[]值={“Android”、“iPhone”、“WindowsMobile”,
“黑莓”、“WebOS”、“Ubuntu”、“Windows7”、“Max OS X”,
“Linux”、“OS/2”};
最终ArrayAdapter适配器=新的ArrayAdapter(此,
R.layout.activity_标题,R.id.textView1,值);
//将适配器分配给ListView
setAdapter(适配器);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.activity\u标题,菜单);
返回true;
}
}
您在活动和每个ListView行中使用相同的布局
- 活动的布局应具有ListView(以及您想要的任何其他内容)
- ListView行不应具有ListView元素。。。它应该包含更基本的构建块,如文本视图、图像视图等
activity\u headlines.xml
没有id为listView1
的ListView或id为textView1
的TextView。尝试:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
ArrayAdapter adapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1的值);
Logcat中的错误消息是什么?@AlexFlorescu:嗯,我对android开发有点陌生,所以我对Logcat不太熟悉。我可能记得那突然出现的一些事情;也许我没有启用它。如何查看?如果您使用Eclipse,当应用程序崩溃时,LogCat会自动打开。突出显示红色错误行并按Ctrl+C复制它们,然后将它们粘贴到问题中。(点击问题下方的“”)谢谢,我已经解决了这个问题