我想将片段活动中的数据传递给另一个类。但, 它会产生错误"构造函数Intent(new View.OnClickListener(){},Class)未定义"。
使用此代码
'Intent intent = new Intent(this, WebSocket_Connector.class);'
这是代码..我可以通过' id'字符串值?
public class Myoffers_Fragment extends Fragment {
private final WebSocketConnection mConnection = new WebSocketConnection();
public static Fragment newInstance(Myoffers context, int pos, float scale)
{
Bundle b = new Bundle();
b.putInt("pos", pos);
b.putFloat("scale", scale);
return Fragment.instantiate(context, Myoffers_Fragment.class.getName(), b);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
LinearLayout l = (LinearLayout) inflater.inflate(R.layout.mf, container, false);
int pos = this.getArguments().getInt("pos");
TextView tv = (TextView) l.findViewById(R.id.text);
tv.setText("Product " + pos);
ImageButton product_photo = (ImageButton) l.findViewById(R.id.myoffer_image);
if (pos == 0) {
product_photo.setImageResource(R.drawable.myoffers_0);
product_photo.setOnClickListener(new ImageButton.OnClickListener(){
public void onClick(View v){
String id1 = "Product0";
Intent intent = new Intent(this, WebSocket_Connector.class);
intent.putExtra("KeyToAccessData", id1);
startActivity(intent);
Log.d(TAG, "Current product is : " + id1);
Log.d(TAG, id1 + "is sent to server!");
}
});
}
答案 0 :(得分:3)
其中一个Intent constrcutor采用参数Context
和.class
对象。因此,您的this
必须是有效的上下文或活动。来自文档:
<强>参数强>
packageContext
实现此类的应用程序包的上下文。cls
要用于意图的组件类。更改
new Intent(this, WebSocket_Connector.class);
带
new Intent(getActivity(), WebSocket_Connector.class);
答案 1 :(得分:0)
为什么不尝试这个
Intent intent = new Intent(Myoffers_Fragment.this, WebSocket_Connector.class);