2016-11-13 28 views
0

我不知道我在這裏做了什麼錯誤。我按照教程,但我的價值觀最終是空的。意圖中的值未顯示

Passsing值的意圖

ListView lvItems = (ListView) view.findViewById(R.id.lvDashboardCompleted); 
     lvItems.setOnItemClickListener(new AdapterView.OnItemClickListener() { 


      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       //Toast shows the id over here 
       Intent intent = new Intent(getActivity(), categoryActivity.class); 
       intent.putExtra("CATEGORY_ID", id); 
       startActivity(intent); 
      } 
     }); 

從意向

public class categoryActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getSupportActionBar().hide(); 
     setContentView(R.layout.activity_category); 

     String recevied_cat_id = getIntent().getStringExtra("CATEGORY_ID"); 

     Context context = getApplicationContext(); 
     CharSequence text = recevied_cat_id; 
     int duration = Toast.LENGTH_SHORT; 

     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 
    } 
} 
+1

你傳遞一個'long'值,但檢索'String'。 – ARiF

回答

1

嘗試替換onCreate方法。這個問題是什麼?由於@ARiF已正確突出顯示,因此您正在從您的Intent中傳遞很長時間,但在您的方法中,您正在檢索字符串。

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getSupportActionBar().hide(); 
     setContentView(R.layout.activity_category); 

     Long recevied_cat_id = getIntent().getLongExtra("CATEGORY_ID", 1L); 

     Context context = getApplicationContext(); 
     String strLong = Long.toString(recevied_cat_id); 
     CharSequence text = strLong; 
     int duration = Toast.LENGTH_SHORT; 

     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 
    } 
+0

非常感謝 –

1

使用String recevied_cat_id = getIntent().getLongExtra("CATEGORY_ID", defaultLongValue);而不是振興值。

+0

非常感謝你 –

+0

樂意幫忙:) – ARiF