【发布时间】:2014-05-27 16:15:52
【问题描述】:
我是 android 新手,我正在尝试在列表视图上显示一个数组 这是我设置列表视图的 xml:
<ListView
android:id="@+id/lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
这里是 MainActivity.java:
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView listView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
String[] values = new String[] { "Elemento 1",
"Elemento 2",
"Elemento 3",
"Elemento 4",
"Elemento 5",
"Elemento 6",
"Elemento 7",
"Elemento 8"
};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.id.text1, values);
lv.setAdapter(adapter);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
所以,问题是,一切都很顺利,直到我写下:
lv.setAdapter(adapter);
我运行应用程序,但它只是崩溃,应用程序已停止。当我评论这部分代码时,它运行但显然没有显示任何内容。我在平板电脑上运行它,它在 ICS 上
提前致谢。
【问题讨论】:
-
您的代码中有两个 listview 变量,您确定您使用的是正确的吗?
-
我猜 listview 属于
fragment_main.xml而你得到的是NullPointerException -
如果是,那么可能是您的布局没有提供 Id 的列表视图
-
您的列表视图在活动 xml 或片段主文件中的什么位置?
-
这个 id 在哪里属于 R.id.lv 在 activity_main 或 fragment_main 中?
标签: java android eclipse listview arraylist