Java 从使用ListView填充的字符串数组中读取值
我有一个Java 从使用ListView填充的字符串数组中读取值,java,android,listview,Java,Android,Listview,我有一个列表视图,它填充字符串数组中的引号列表,但是单击我需要将所选的读取到字符串。这是我使用的代码: ListView sample = (ListView)findViewById(R.id.Samplelist); String[] backup = getResources().getStringArray(R.array.months); ArrayAdapter<String> adapter = new ArrayAdapter<String
列表视图
,它填充字符串数组中的引号列表,但是单击
我需要将所选的
读取到字符串
。这是我使用的代码:
ListView sample = (ListView)findViewById(R.id.Samplelist);
String[] backup = getResources().getStringArray(R.array.months);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, backup);
sample.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {
final String item = (String) parent.getItemAtPosition(position);
view.animate().setDuration(2000).alpha(0)
.withEndAction(new Runnable() {
@Override
public final void run()
{
String readItem;
finish();
}
});
}
sample.setAdapter(adapter);
}
ListView样本=(ListView)findViewById(R.id.Samplelist);
String[]backup=getResources().getStringArray(R.array.months);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,备份);
sample.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、最终视图、,
内部位置,长id){
最终字符串项=(字符串)父项.getItemAtPosition(位置);
view.animate().setDuration(2000).alpha(0)
.withEndAction(新的可运行(){
@凌驾
公开最终作废运行()
{
字符串读取项;
完成();
}
});
}
示例.setAdapter(适配器);
}
这里的sample.setAdapter(adapter)
似乎是一个错误,并用红色下划线
有什么方法可以做到这一点吗?如果您查看
simple\u list\u item\u 1
的布局,您会发现textview的id是text1
,我们将不胜感激
您可以按如下方式定义listview的McClickListener:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItem = ((TextView) view.findViewById(R.id.text1)).getText().toString();
}
});
而不是
String selectedItem = ((TextView) view.findViewById(R.id.text1)).getText().toString();
希望有帮助!您可以尝试以下方法:
yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
String data=(String)parent.getItemAtPosition(position);
}
});
yourListView.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
字符串数据=(字符串)parent.getItemAtPosition(位置);
}
});
您可能需要在OnItemClickListener
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItemText = ((TextView)view).getText().toString();
}
});
listView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串selectedItemText=((TextView)视图).getText().toString();
}
});
另一个错误?你能发布错误消息的日志吗ShowonClick
method codec你能发布错误吗?谢谢,但实际上什么是text1
,我没有在我的XMLtext1中使用TextView是你的TextView的id,在android sdkIt提供的简单列表项目xml文件中定义,谢谢,但具体是什么simple\u list\u item\u 1
simple\u list\u item\u 1是android sdk提供的默认列表项布局。您还可以设计自定义布局
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItemText = ((TextView)view).getText().toString();
}
});