Я передаю массив/объект JSON через и Intent.putExtra в новое действие, где я хочу использовать определенные строки внутри этого массива. Я хочу знать, как сделать ссылку на передаваемый JSON и как я могу получить доступ к String Extras??
{
@Override
public void onBindViewHolder(final CompanyAdapter.CompanyViewHolder
holder, final int position) {
//CompanyItem currentItem = companyItem.get(position);
//
//holder.mtitleText.setText(currentItem.getmCompanyTitle());
//holder.mnumberText.setText(currentItem.getmCompanyDescription());
//holder.mNodeText.setText(currentItem.getmNodeCount());
Log.d(TAG, "currentItemNode: " + position);
holder.mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "Clicked: " + position);
Object dataSet = null;
try {
dataSet = companyItem.get(position);
} catch (JSONException e) {
e.printStackTrace();
}
Log.d(TAG, "TEST: " + String.valueOf(dataSet));
Intent intent = new Intent(view.getContext(),
NodeDrawActivity.class);
intent.putExtra("jsonObject", dataSet.toString());
view.getContext().startActivity(intent);
Log.d(TAG, "TEST2: " + dataSet);
}
});
try{
holder.mtitleText.setText(companyItem.getJSONObject(position)
.getString("title"));
holder.mnumberText.setText
(companyItem.getJSONObject(position).getString("description"));
//holder.mNodeText.setText
(companyItem.getJSONObject(position).getString("company_status"));
Log.d(TAG, "onBindViewHolder: " + companyItem);
}catch (JSONException e){
e.printStackTrace();
}
}
@Override
public int getItemCount() {
Log.d(TAG, "getItemCount:");
return companyItem.length();
}
}
----------------------------New Activity On Create---------------------
{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.node_activity);
mTitleText = findViewById(R.id.comanyName);
mDescriptionText = findViewById(R.id.descTitle);
mOfficerText = findViewById(R.id.officerText);
mAppCount = findViewById(R.id.appCount);
Intent intent = getIntent();
//intent.putExtra("jsonObject", companyData.toString());
String companyName = intent.getStringExtra("jsonObject");
String companyDescription = intent.getStringExtra("description");
Log.d(TAG, "companyDescription: " + companyDescription);
Log.d(TAG, "companyData: " + companyName);
// Object companyData = null;
//
// try {
// companyData = companyItem.get();
// } catch (JSONException e) {
// e.printStackTrace();
// }
//mTitleText.getText(companyItem.getJSONObject().getString(mtitleText);
//
mTitleText.setText
(companyItem.getJSONObject(position).getString("title"));
//
mnumberText.setText
companyItem.getJSONObject(position).getString("description"));
//
holder.mNodeText.setText(companyItem.getJSONObject(position).getString
("com
pany_status"));
Log.d(TAG, "onBindViewHolder: " + companyItem);
}
Я хочу получить имя и описание заголовка, а также позицию из другого намерения действия




Вам нужно сначала десериализовать свой объект во втором действии с помощью Gson.
String dataSet = intent.getStringExtra("jsonObject");
Gson gsonData = new Gson();
Object data = gsonData.fromJson(dataSet, Object.class);
String companyName = data.getJSONObject(position)
.getString("title"));
String companyDescription = data.getJSONObject(position).getString("description"));
Что-то в этом роде, чтобы получить ваши данные JSON из вашего исходного объекта, потому что сейчас это все еще просто строка.