我遇到过这样的问题。好像我正在做的一切正确,但参数的接收值是null
。希望得到一些帮助。
需要在GridView中传递item的索引。 这是Fragment类:
public class BoardsFragment extends Fragment{
private GridView gridView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_main, container, false);
gridView = (GridView) v.findViewById(R.id.gridview);
return v;
}
@Override
public void onResume(){
super.onResume();
gridView.setAdapter(new MyAdapter(getActivity()));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent myIntent = new Intent(view.getContext(), InfoActivity.class);
myIntent.putExtra("ItemID", i); //Optional parameters
startActivity(myIntent);
}
});
}
我需要传递此ItemID
。这是我收到的地方:
public class InfoActivity extends Activity {
String itemID;
TextView brand;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
brand = (TextView) findViewById(R.id.textViewBrand);
itemID = this.getIntent().getStringExtra("ItemID");
brand.setText(itemID);
}
}
不知道为什么但是这个itemID
在这个类中是null。有什么想法吗?
答案 0 :(得分:1)
传递整数后无法获取字符串,因此请更改此
itemID = this.getIntent().getStringExtra("ItemID");
到
itemID = this.getIntent().getIntExtra("ItemID");
答案 1 :(得分:1)
您正在传递值int,那么如何在活动中获取字符串。
更新代码
myIntent.putExtra("ItemID", i+"");
感谢。