У меня есть следующие java классы:
AddItem. java
public class AddItem extends AppCompatActivity implements View.OnClickListener {
EditText editTextItemName,editTextBrand;
Button buttonAddItem;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
editTextItemName = (EditText)findViewById(R.id.et_item_name);
editTextBrand = (EditText)findViewById(R.id.et_brand);
buttonAddItem = (Button)findViewById(R.id.btn_add_item);
buttonAddItem.setOnClickListener(this);
}
private void addItemToSheet() {
final ProgressDialog loading = ProgressDialog.show(this,"Adding Item","Please wait");
final String name = editTextItemName.getText().toString().trim();
final String brand = editTextBrand.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, "https://script.google.com/macros/s/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/exec",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
Toast.makeText(AddItem.this,response, Toast.LENGTH_LONG).show();
Intent intent = new Intent(getApplicationContext(),MainActivity2.class);
startActivity(intent);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> parmas = new HashMap<>();
parmas.put("action","addItem");
parmas.put("itemName",name);
parmas.put("brand",brand);
return parmas;
}
};
int socketTimeOut = 50000;
RetryPolicy retryPolicy = new DefaultRetryPolicy(socketTimeOut, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
stringRequest.setRetryPolicy(retryPolicy);
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(stringRequest);
}
@Override
public void onClick(View v) {
if(v==buttonAddItem){
addItemToSheet();
}
}
}
MainActivity. java:
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
et c ... Я оставлю это, потому что он длинный. Он получает информацию о местоположении и работает правильно со всеми его кнопками.
MainActivity2. Java:
public class MainActivity2 extends AppCompatActivity implements View.OnClickListener {
Button buttonAddItem;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
buttonAddItem = (Button)findViewById(R.id.btn_add_item);
buttonAddItem.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v==buttonAddItem){
Intent intent = new Intent(getApplicationContext(),AddItem.class);
startActivity(intent);
}
}
}
Вот как я называю все в своем манифесте:
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity2"/>
<activity android:name=".AddItem"/>
</application>
Есть идеи, почему btn_add_item из main_activity. xml здесь ничего не делает? : / Он должен отправлять текст от et_brand и et_item_name на мой лист Google.