我试图构建一个ListView,我已经制作了以下代码......
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
StringAdapter nAdapter = new StringAdapter();
ListView v = (ListView)findViewById(R.id.ListView_01);
v.setAdapter(nAdapter);
setContentView(v);
}
我构建了以下课程。
public class StringAdapter extends BaseAdapter {
private ArrayList<String> items;
private LayoutInflater mInflater;
public void StringAdapter(Context context){
items = new ArrayList<String>();
mInflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
for (int i=0 ; i < 3 ; i++) {
String addstring;
addstring = "Item" + i;
items.add(addstring);
}
}
,xml文件是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
tools:ignore="MergeRootFrame" >
<ListView
android:id ="@+id/ListView_01"
android:layout_height="match_parent"
android:layout_width="match_parent" />
问题是我在屏幕上看不到任何东西..
有人可以向我解释我的错在哪里,一般来说ListView如何工作?
答案 0 :(得分:0)
您已定义了一个名为StringAdapter(Context)
的方法。从这个方法的内容来看,您可能想要为StringAdapter
类创建一个构造函数。
只需从此方法签名中删除返回类型(void
),这将成为构造函数。