Ich möchte einen benutzerdefinierten Dialog machen, in dem ich einen Anruf machen möchte, indem ich ja die Schaltfläche drücke und den Dialog mit Nein abbreche. Aber in der Textansicht im Dialog möchte ich den Bestätigungsdialog "Call: number". Ich habe dieses Nein vom Benutzer in der Hauptaktivität genommen, und ich kann dieses Nein zu Dialog nicht bringen. Wie kann ich das machen? Ich habe es mit Absicht und geteilten Vorlieben versucht aber alles vergebens. Gib mir Vorschläge.den Aktivitätsinhalt zum Dialog nehmen
Ich habe folgenden Code in Hauptaktivitätsklasse geschrieben.
package com.example.deepak.phone_call;
import android.Manifest;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener {
Button b;
EditText edittext1;
SharedPreferences sharedPreferences;
SharedPreferences.Editor edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button) findViewById(R.id.button);
b.setOnClickListener(this);
edittext1=(EditText)findViewById(R.id.edittext1);
String number=edittext1.getText().toString();
sharedPreferences = getSharedPreferences("mydata",MODE_PRIVATE);
edit= sharedPreferences.edit();
edit.putString("s1",number);
edit.commit();
// Intent intent = new Intent(this, phone_call.class);
// intent.putExtra("s1",number);
}
private void phoneDialog(){
Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.phone_call);
dialog.setTitle("Call:");
dialog.show();
}
@Override
public void onClick(View v) {
phoneDialog();
}
}
und folgenden Code in einer anderen Klasse, in der ich Dialog eingestellt habe.
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by Deepak on 7/5/2016.
*/
public class phone_call extends Activity implements View.OnClickListener {
Button button2,button3;
TextView editText;
SharedPreferences shredpreference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.phone_call);
button2= (Button) findViewById(R.id.button2);
button2.setOnClickListener(this);
button3= (Button) findViewById(R.id.button3);
button3.setOnClickListener(this);
editText = (TextView) findViewById(R.id.editText);
//Intent intent = getIntent();
//String s1= intent.getStringExtra("s1");
shredpreference = getSharedPreferences("mydata",0);
String s1= shredpreference.getString("s1","null");
editText.setText("Call"+ s1+":");
}
@Override
public void onClick(View v) {
//Intent intent = getIntent();
// String s1= intent.getStringExtra("s1");
shredpreference = getSharedPreferences("mydata",0);
String s1= shredpreference.getString("s1","null");
switch (v.getId()) {
case R.id.button2:
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" +s1));//change the number
try{
startActivity(callIntent);
}
catch (android.content.ActivityNotFoundException ex){
Toast.makeText(getApplicationContext(),"yourActivity is not founded",Toast.LENGTH_SHORT).show();
}
break;
case R.id.button3:
finishActivity(100);
break;
}
}
}