我的問題多texviews情況如下:使用該example,我試圖創建一個列表視圖,從數據庫中2 ArrayLists
(名稱&號)發生並輸出其數據到TextView的自定義適配器在列表中。數據會顯示在列表中,但是它們會單獨顯示,這意味着名稱會顯示數字,您可以單獨單擊它們,而不是將它們合併爲列表中的一個條目。附加是必要的代碼。安卓:在列表視圖排錯
我的適配器類:
public class ListViewCustomAdapter extends BaseAdapter {
public Activity context;
public LayoutInflater inflater;
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> nos = new ArrayList<String>();
public ListViewCustomAdapter(Activity context,ArrayList<String> names, ArrayList<String> nos) {
super();
this.context = context;
this.names = names;
this.nos=nos;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
// TODO Auto-generated method stub
return names.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder
{
TextView txtViewName;
TextView txtViewNo;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView==null)
{
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.editlist, null);
// holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.imgViewLogo);
holder.txtViewName = (TextView) convertView.findViewById(R.id.textView1);
holder.txtViewNo = (TextView) convertView.findViewById(R.id.textView2);
convertView.setTag(holder);
}
else
holder=(ViewHolder)convertView.getTag();
//holder.imgViewLogo.setImageResource(R.drawable.icon);
holder.txtViewName.setText(names.get(position));
holder.txtViewNo.setText(nos.get(position));
return convertView;
}
}
的ListView XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="5dip">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_width="wrap_content"
android:id="@+id/textView1"
android:layout_marginLeft="2dip">
</TextView>
<TextView
android:layout_height="wrap_content"
android:text="TextView"
android:layout_width="wrap_content"
android:id="@+id/textView2"
android:layout_toRightOf="@+id/textView1"
android:layout_marginLeft="2dip">
</TextView>
</RelativeLayout>
主要活動的用途適配器:
public class EditActivity extends ListActivity implements OnClickListener, OnItemClickListener{
Button b_add;
ListView lv;
SQLUtils sqlUtils = new SQLUtils(this);
ListViewCustomAdapter adapter;
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> nos = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_layout);
b_add = (Button)findViewById(R.id.b_add);
b_add.setOnClickListener(this);
lv = (ListView)findViewById(android.R.id.list);
names=sqlUtils.getActions(1);
nos=sqlUtils.getActions(2);
//lv.setOnItemClickListener(this);
adapter = new ListViewCustomAdapter(this, names, nos);
lv.setAdapter(adapter);
}
[1]
描述問題。你是什麼意思他們是錯印?它是如何打印錯誤的?當您滾動時它只是錯誤打印,還是前幾項打印錯誤? – Gophermofur
「您可以單獨單擊它們,而不是將它們放在一起作爲列表中的一個條目」請發佈您實施的任何點擊監聽器。 – Sam
好,所以你知道如何在android手機上,你可以進入你最近撥打的標籤,它會顯示你的人名和數字在一個插槽中,當你點擊它時,一切都會亮起來。所以這就是我想要做的,但它結束髮生的是,名稱被輸出到一個插槽和數字到另一個,我不知道爲什麼。我希望更清楚。乾杯 –