这里我学习三个ArrayList (EmpName,EmpID和EmpPhone)。在这个过程中,我在每个数组中存储5个数据,然后我尝试在listview上显示所有数据,就像在列表视图的每一行中都有3 data.but一样,我没有得到准确的输出。我所有的code...Please帮助..。谢谢。
activity_main.xml
<ListView
android:id="@+id/main_listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>custom_checkbox.xml
<TextView
android:id="@+id/custom_empname_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/custom_empid_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/custom_empphone_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />MainActivity.java
public class MainActivity extends Activity {
ArrayList<String> EmpName;
ArrayList<String> EmpID;
ArrayList<String> EmpMobile;
void getEmpDetails() {
EmpName.add("Jhon");
EmpName.add("Joy");
EmpName.add("Jain");
EmpName.add("Jason");
EmpName.add("Joky");
EmpID.add("1001");
EmpID.add("1002");
EmpID.add("1003");
EmpID.add("1004");
EmpID.add("1005");
EmpMobile.add("8179789878");
EmpMobile.add("8179789478");
EmpMobile.add("8179789378");
EmpMobile.add("8179789278");
EmpMobile.add("8179789678");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list = (ListView)findViewById(R.id.main_listView1);
}
class ListAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return EmpName.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int index, View v, ViewGroup vg) {
// TODO Auto-generated method stub
v = getLayoutInflater().inflate(R.layout.custom_checkbox, null);
TextView t1 = (TextView)v.findViewById(R.id.custom_empname_textView);
TextView t2 = (TextView)v.findViewById(R.id.custom_empid_textView);
TextView t3 = (TextView)v.findViewById(R.id.custom_empphone_textView);
EmpName = new ArrayList<String>();
EmpID = new ArrayList<String>();
EmpMobile = new ArrayList<String>();
getEmpDetails();
ArrayAdapter<String> a1 =
new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, EmpName);
ArrayAdapter<String> a2 =
new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, EmpID);
ArrayAdapter<String> a3 =
new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, EmpMobile);
t1.setText((CharSequence) a1);
t2.setText((CharSequence) a2);
t3.setText((CharSequence) a3);
return null;
}
}
}发布于 2014-01-24 07:38:40
根据你的问题和问题,我建议你以下几点:
position在getView()方法中获取特定的Employee对象。而且你的代码需要这么多的修改,最好你能找到任何一本android的书,并且很好地学习Android编程。
发布于 2014-01-24 07:41:39
您的代码将无法工作,因为您的适配器使用错误(而且根本没有设置为ListView )。不幸的是,您的代码需要太多的更改(例如,您应该更改新的对象Employee,您应该将这些对象的数组传递给适配器,并将Employee的bing值传递给item视图)才能在我的答案中解析它,所以只需阅读有关适配器的好教程,并尝试再次编写此代码:
http://www.javacodegeeks.com/2013/09/android-listview-with-adapter-example.html
http://www.vogella.com/tutorials/AndroidListView/article.html
希望能帮上忙。
https://stackoverflow.com/questions/21326961
复制相似问题