2013-06-19 6 views
0

Я хочу передать данные в операции фрагмента другому классу. Но, выдает сообщение об ошибке «Конструктор Intent (новый View.OnClickListener() {}, Class) не определен».Android - конструктор неопределенной ошибки

с этим кодом

'Intent intent = new Intent(this, WebSocket_Connector.class);' 

Вот code..how я могу передать Ид "значение строки?

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!"); 
       } 
      }); 
     } 

ответ

3

один из Намерения constrcutor принимает параметр Я Context и .class объекта. Таким образом, ваш this должен быть действительным контекстом или активностью. Из документации:

Параметры

  1. packageContext Контекст пакета прикладных программ, реализующего этот класс.
  2. cls Класс компонента, который должен использоваться для намерения.

Изменить

new Intent(this, WebSocket_Connector.class); 

с

new Intent(getActivity(), WebSocket_Connector.class); 
+0

спасибо. оно работает. – user2500696

+0

добро пожаловать – Blackbelt

+0

не могли бы вы проверить «Android - Autobahn Websocket отправки сообщения об ошибке (NullPointerException)» вопрос, если вы не возражаете? .. никто не отвечает на это .. :( – user2500696

0

Почему бы вам не попробовать это

Intent intent = new Intent(Myoffers_Fragment.this, WebSocket_Connector.class); 
Смежные вопросы