我有一个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)
似乎是一个错误,并带有红色下划线。有没有办法使此正确完成?任何帮助将不胜感激
最佳答案
如果查看simple_list_item_1
的布局,则可以找到textview的ID为text1
。
您可以像这样在列表视图中定义OnItemClickListener:
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();
希望能帮助到你!