从 ListView 获取位置并强制关闭
Getting position from ListView and force closes
我不确定为什么当我从列表视图中单击其中一项时它会一直强制关闭。我得到了位置并将其传递给其他 activity,但是一旦我尝试显示它或将其放入 editText 中,它就会关闭。这可能很简单,但我迷路了。
第一个Activity
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
itemPosition = position;
String itemValue = (String) listView.getItemAtPosition(position);
Intent myIntent = new Intent(view.getContext(), EnterInfoActivity.class);
myIntent.putExtra("position",itemPosition);
startActivity(myIntent);
}
});
第二个Activity:
protected void onCreate(Bundle savedInstantState){
super.onCreate(savedInstantState);
setContentView(R.layout.enterinfo_layout);
int value;
Bundle extras = getIntent().getExtras();
value = extras.getInt("position");
Toast.makeText(getApplicationContext(), value, Toast.LENGTH_LONG);
}
您不能将 int
值设置为 toast 文本。 Android 假定 int
值是对 strings.xml
中字符串的引用,当然找不到。如果你想像那样显示吐司,那么你需要将 int
转换为 String
Toast.makeText(getApplicationContext(),String.valueOf(value), Toast.LENGTH_LONG);
我不确定为什么当我从列表视图中单击其中一项时它会一直强制关闭。我得到了位置并将其传递给其他 activity,但是一旦我尝试显示它或将其放入 editText 中,它就会关闭。这可能很简单,但我迷路了。
第一个Activity
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
itemPosition = position;
String itemValue = (String) listView.getItemAtPosition(position);
Intent myIntent = new Intent(view.getContext(), EnterInfoActivity.class);
myIntent.putExtra("position",itemPosition);
startActivity(myIntent);
}
});
第二个Activity:
protected void onCreate(Bundle savedInstantState){
super.onCreate(savedInstantState);
setContentView(R.layout.enterinfo_layout);
int value;
Bundle extras = getIntent().getExtras();
value = extras.getInt("position");
Toast.makeText(getApplicationContext(), value, Toast.LENGTH_LONG);
}
您不能将 int
值设置为 toast 文本。 Android 假定 int
值是对 strings.xml
中字符串的引用,当然找不到。如果你想像那样显示吐司,那么你需要将 int
转换为 String
Toast.makeText(getApplicationContext(),String.valueOf(value), Toast.LENGTH_LONG);