Android 如何在同一listitem中同时显示字符串和edittext字段?
在我的程序中,我使用json从远程SQL数据库中获取了大量字符串。这些项目(字符串)目前填充我的Listview。如果一个项目同时带有字符串和edittextfield,我想在listview中放置一个edittext字段。稍后,我还想保存在edittext字段中输入的文本,因此我需要能够引用它。有人能帮我吗?您应该根据自己的喜好为列表创建一个视图,以下是示例Android 如何在同一listitem中同时显示字符串和edittext字段?,android,android-layout,Android,Android Layout,在我的程序中,我使用json从远程SQL数据库中获取了大量字符串。这些项目(字符串)目前填充我的Listview。如果一个项目同时带有字符串和edittextfield,我想在listview中放置一个edittext字段。稍后,我还想保存在edittext字段中输入的文本,因此我需要能够引用它。有人能帮我吗?您应该根据自己的喜好为列表创建一个视图,以下是示例 <ListView android:id="@+id/listView" android:layout_width
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
home.xml
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
还有一个xml需要膨胀,
list.xml
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
在您的活动中使用此方法
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
LayoutInflater mlayoutinflator;
public void getlist(final ArrayList<contact> list){
// Get the list view
ListView listView = (ListView) findViewById(R.id.listView);
mlayoutinflator =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ArrayAdapter<contact> aa = new ArrayAdapter<contact>(this, R.layout.listitem,list){
@Override
public View getView(final int position, View convertView,ViewGroup parent)
{
if (null == convertView)
{
convertView = mlayoutinflator.inflate(R.layout.listitem, parent, false);
holder = new ViewHolder();
holder.value1 = (TextView)convertView.findViewById(R.id.textView1);
holder.value2 = (TextView)convertView.findViewById(R.id.textView2);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.value1.setText(""+list.get(position).getName().trim());
holder.value2.setText(""+list.get(position).getNumber().trim());
convertView.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("sms:"));
intent.putExtra( "sms_body", list.get(position).getName()+"-"+list.get(position).getNumber() );
startActivity(intent);
}
});
return convertView;
}
};
listView.setAdapter(aa);
}
static class ViewHolder
{
private TextView value1;
private TextView value2;
}
LayoutInflater-mlayoutinflator;
公共无效getlist(最终ArrayList列表){
//获取列表视图
ListView ListView=(ListView)findViewById(R.id.ListView);
mlayoutinflator=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
ArrayAdapter aa=新的ArrayAdapter(this,R.layout.listitem,list){
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图)
{
if(null==convertView)
{
convertView=MLayOutFlator.inflate(R.layout.listitem,父项,false);
holder=新的ViewHolder();
holder.value1=(TextView)convertView.findViewById(R.id.textView1);
holder.value2=(TextView)convertView.findViewById(R.id.textView2);
convertView.setTag(支架);
}
其他的
{
holder=(ViewHolder)convertView.getTag();
}
holder.value1.setText(“+list.get(position.getName().trim());
holder.value2.setText(“+list.get(position.getNumber().trim());
convertView.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
意向意向=新意向(意向.行动\视图);
setData(Uri.parse(“sms:”);
intent.putExtra(“sms_body”,list.get(position.getName()+”-“+list.get(position.getNumber());
星触觉(意向);
}
});
返回视图;
}
};
setAdapter(aa);
}
静态类视窗夹
{
私有文本视图值1;
私有文本视图值2;
}
您应该根据自己的喜好为列表创建一个视图,下面是一个示例
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
home.xml
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
还有一个xml需要膨胀,
list.xml
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
在您的活动中使用此方法
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
LayoutInflater mlayoutinflator;
public void getlist(final ArrayList<contact> list){
// Get the list view
ListView listView = (ListView) findViewById(R.id.listView);
mlayoutinflator =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ArrayAdapter<contact> aa = new ArrayAdapter<contact>(this, R.layout.listitem,list){
@Override
public View getView(final int position, View convertView,ViewGroup parent)
{
if (null == convertView)
{
convertView = mlayoutinflator.inflate(R.layout.listitem, parent, false);
holder = new ViewHolder();
holder.value1 = (TextView)convertView.findViewById(R.id.textView1);
holder.value2 = (TextView)convertView.findViewById(R.id.textView2);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.value1.setText(""+list.get(position).getName().trim());
holder.value2.setText(""+list.get(position).getNumber().trim());
convertView.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("sms:"));
intent.putExtra( "sms_body", list.get(position).getName()+"-"+list.get(position).getNumber() );
startActivity(intent);
}
});
return convertView;
}
};
listView.setAdapter(aa);
}
static class ViewHolder
{
private TextView value1;
private TextView value2;
}
LayoutInflater-mlayoutinflator;
公共无效getlist(最终ArrayList列表){
//获取列表视图
ListView ListView=(ListView)findViewById(R.id.ListView);
mlayoutinflator=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
ArrayAdapter aa=新的ArrayAdapter(this,R.layout.listitem,list){
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图)
{
if(null==convertView)
{
convertView=MLayOutFlator.inflate(R.layout.listitem,父项,false);
holder=新的ViewHolder();
holder.value1=(TextView)convertView.findViewById(R.id.textView1);
holder.value2=(TextView)convertView.findViewById(R.id.textView2);
convertView.setTag(支架);
}
其他的
{
holder=(ViewHolder)convertView.getTag();
}
holder.value1.setText(“+list.get(position.getName().trim());
holder.value2.setText(“+list.get(position.getNumber().trim());
convertView.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
意向意向=新意向(意向.行动\视图);
setData(Uri.parse(“sms:”);
intent.putExtra(“sms_body”,list.get(position.getName()+”-“+list.get(position.getNumber());
星触觉(意向);
}
});
返回视图;
}
};
setAdapter(aa);
}
静态类视窗夹
{
私有文本视图值1;
私有文本视图值2;
}
嘿,这可能对你有帮助
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
嘿,这可能对你有帮助
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>
非常有用,我现在大部分都可以用了。我唯一不知道怎么做的就是引用我的文本框,这样我就可以保存它们了。你会有一个字符串列表被添加到列表中。在上面的get list方法中,通过该列表,现在创建一个holder类来保存所有viewitems,如示例所示,并调用holder.value1.setText(yourlist.getposition.getitem)这样的视图项,如果您有问题,请投递一封类的邮件,我会修复它,raksi004@gmail.comvery帮帮忙,我现在大部分都能用了。我唯一不知道怎么做的就是引用我的文本框,这样我就可以保存它们了。你会有一个字符串列表被添加到列表中。在上面的get list方法中,通过该列表,现在创建一个holder类来保存所有viewitems,如示例所示,并调用holder.value1.setText(yourlist.getposition.getitem)这样的视图项,如果您有问题,请投递一封类的邮件,我会修复它,raksi004@gmail.com
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/alert_dark_frame" >
</ListView>
</LinearLayout>