刚学android开发几个,很多东西不明白,在一个个控件学习中。
各位大大,标红的那里的问题,该咋写好呢
package com.example.testapp;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lv;
private Myadapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) this.findViewById(R.id.listView1);
adapter = new Myadapter(this.getData());
lv.setAdapter(adapter);
}
public List<String> getData(){
List<String> list = new ArrayList<String>();
for(int i=0;i<=100;i++){
list.add("testitem - "+i);
}
return list;
}
public class Myadapter extends BaseAdapter{
private List<String> list;
public Myadapter(List<String> list){
this.list = list;
}
@Override
public int getCount() {
// TODO 自动生成的方法存根
return list.size();
}
@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO 自动生成的方法存根
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_item1,null);
TextView tv = (TextView)view.findViewById(R.id.textView1);
tv.setText(list.get(position));
return tv;
}
}
}
定义了一个布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/TextView1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:textColor="#FF8000"
android:textSize="20sp"
/>
</LinearLayout>
------解决方案--------------------
贴log ,看具体是什么错误吧
------解决方案--------------------
findViewById(R.id.textView1);
你这里是textView1
而你的布局文件里面是TextView1
------解决方案--------------------
在getView方法中要判断convertView等于null才执行View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_item1,null);
------解决方案--------------------