我有一个ListView
填充字符串数组中的引号列表,但是onClick
我要求将选定的<item>
读取到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);
}
此处sample.setAdapter(adapter)
似乎是一个错误,并用红色加下划线。
有没有办法让这件事正确完成?任何帮助将不胜感激
答案 0 :(得分:2)
如果您查看simple_list_item_1
的布局,那么您可以找到textview的ID为text1
。
您可以将OnItemClickListener定义为listview,如下所示:
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 = (String)parent.getItemAtPosition(position);
而不是
String selectedItem = ((TextView) view.findViewById(R.id.text1)).getText().toString();
希望它有所帮助!
答案 1 :(得分:0)
您可能需要解析View
OnItemClickListener
的文字
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItemText = ((TextView)view).getText().toString();
}
});