Android 如何检查列中的所有元素是否具有相同的文本?
我在自定义列表视图中有两个文本视图textview1和textview2。listview中的总行数为10。如果textview 2中的所有元素都有一个值,即“true”。单击第10个元素的textview1时,应显示消息“成功”,或者即使其中一个textview2的值不是“真”,单击第10个元素的textview1时也应显示消息“失败” 这是我的密码 包com.example.listAndroid 如何检查列中的所有元素是否具有相同的文本?,android,listview,Android,Listview,我在自定义列表视图中有两个文本视图textview1和textview2。listview中的总行数为10。如果textview 2中的所有元素都有一个值,即“true”。单击第10个元素的textview1时,应显示消息“成功”,或者即使其中一个textview2的值不是“真”,单击第10个元素的textview1时也应显示消息“失败” 这是我的密码 包com.example.list import android.os.Bundle; import android.view.LayoutIn
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.content.Context;
public class MainActivity extends Activity
{
ListView lv;
private static boolean test= false;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView)findViewById(R.id.lv);
lv.setAdapter(new slist(this));
}
public class slist extends BaseAdapter
{
private Context context;
public slist(Context c)
{
context = c;
}
@Override
public int getCount()
{
return names.length;
}
@Override
public Object getItem(int position)
{
return null;
}
@Override
public long getItemId(int position)
{
return 0;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.layout.customlist, null);
final TextView t1 = (TextView) v.findViewById(R.id.tv1);
final TextView t2 = (TextView) v.findViewById(R.id.tv2);
t1.setText(names[position]);
t2.setText(bikes[position]);
t1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
if(t1.getText().toString().equalsIgnoreCase(names[names.length-1]))
{
//Here i should loop through and check all the elements in the bikes[]
}
else
{
Toast.makeText(getApplicationContext(), t1.getText().toString(), Toast.LENGTH_SHORT).show();
}
}
});
return v;
}
}
String [] names = { "rams", "venu", "pavan", "sravan", "vishnu", "krishna", "hari", "prasad", "raghu" };
String [] bikes = { "true", "true", "false", "true", "true", "false", "true", "false", "true" };
}试试这个
index=Integer.parseInt(v.getTag().toString());
View view=yourlistviewname.getChildAt(index);
TextView tv1=view.findViewByID(R.id.textview1);
TextView tv2=view.findViewByID(R.id.textview2);
String first=tv1.getText().toString();
String second=tv2.getText().toString();
if(first.equals("yourArrayItemHere")){
//your message here
}
if(second.equals("false")){
//your message here
}
您可以根据textview的文本设置消息“成功”或“失败” 您可以使用以下代码
t1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//check for the position of last item
if(position==(names.length-1))
{
//check for second element of other 9 items
for(int i=0;i<bikes.length-1;i++)
{
if(bikes[i].equals("true"))
{
result=true;
}
else
{
result=false;
}
}
}
}
});
t1.setOnClickListener(新的OnClickListener()
{
公共void onClick(视图v)
{
//检查最后一项的位置
如果(位置==(名称.长度-1))
{
//检查其他9项中的第二项
对于(int i=0;iYou可以始终依赖于提供给适配器的模型数据并进行一些字符串比较,而不是依赖于视图。我必须循环所有9个tv2。如果所有tv2都有相同的文本,那么我必须显示成功或失败。那么循环tv2有什么问题?嗨,Neureno,为什么要循环列表的视图。因为你已经有了数据列表,你将给列表的适配器。你可以依赖它,对吗?我如何设计for循环来检查字符串?他想检查所有10台电视,而不是特定的。所以我建议他这样做。我知道,如果他只想得到一台电视,他可以在点击事件时在该电视上设置一个标记,然后得到特定的使用我们设置的标签观看电视。