我希望将电话号码加载到字符串 xx"...这怎么可能?如何在方法之间共享数据??我已尝试将方法公开,但这无济于事...。我知道活动从主要活动...那么如何从另一种方法获取数据然后处理主要活动?
public class MsgcontactActivity extends Activity {
private static final int CONTACT_PICKER_RESULT = 1001;
public void doLaunchContactPicker(View view)
{
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
EditText phoneTxt;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView) findViewById(R.id.textView1);
String xx=phoneTxt.getText().toString();
Toast.makeText(getApplicationContext(), xx,Toast.LENGTH_LONG ).show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
{
String phone="";
Cursor contacts=null;
try
{
if (resultCode == RESULT_OK)
{
switch (requestCode)
{
case CONTACT_PICKER_RESULT:
Uri result = data.getData();
String id = result.getLastPathSegment();
contacts=getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null);
int phoneIdx = contacts.getColumnIndex(Phone.DATA);
if (contacts.moveToFirst())
{
phone = contacts.getString(phoneIdx);
EditText phoneTxt=(EditText)findViewById(R.id.phoneno);
phoneTxt.setText(phone);
}
else
{
Toast.makeText(this, "error", 100).show();
}
break;
}
}
else
{
Toast.makeText(this, "Warning: activity result not ok",50).show();
}
}
catch (Exception e)
{
Toast.makeText(this, e.getMessage(), 50).show();
}
finally
{
if (contacts != null)
{
contacts.close();
}
}
}
}
}
XML 代码:-
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:layout_height="wrap_content"
android:id="@+id/phoneno"
android:inputType="text|phone"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/Contacts"
android:layout_alignParentLeft="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Contacts"
android:text="Contacts"
android:layout_alignParentRight="true"
android:onClick="doLaunchContactPicker"/>
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:id="@+id/textView1"
android:layout_height="wrap_content"
android:layout_below="@+id/phoneno"
android:layout_alignParentLeft="true"/>
</RelativeLayout>
下次尝试
public class MsgcontactActivity extends Activity {
private static final int CONTACT_PICKER_RESULT = 1001;
public void doLaunchContactPicker(View view)
{
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
EditText phoneTxt;
Button b;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b=(Button) findViewById(R.id.button1);
tv=(TextView) findViewById(R.id.textView1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doLaunchContactPicker(v);
}
});
String xx=phoneTxt.getText().toString();
tv.setText(xx);
}
@Override
public void onActivityResult(int requestCode, int resultCode,
Intent data) {
{
String phone="";
Cursor contacts=null;
try
{
if (resultCode == RESULT_OK)
{
switch (requestCode)
{
case CONTACT_PICKER_RESULT:
Uri result = data.getData();
String id = result.getLastPathSegment();
contacts=getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null);
int phoneIdx = contacts.getColumnIndex(Phone.DATA);
if (contacts.moveToFirst())
{
phone = contacts.getString(phoneIdx);
EditText phoneTxt=(EditText)findViewById(R.id.editText1);
phoneTxt.setText(phone);
}
else
{
Toast.makeText(this, "error", 100).show();
}
break;
}
}
else
{
Toast.makeText(this, "Warning: activity result not ok",50).show();
}
}
catch (Exception e)
{
Toast.makeText(this, e.getMessage(), 50).show();
}
finally
{
if (contacts != null)
{
contacts.close();
}
}
}
}
}
HTML 代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText1" android:layout_alignParentTop="true" android:layout_alignParentLeft="true">
<requestFocus></requestFocus>
</EditText>
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:text="Button" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/editText1" android:layout_marginLeft="33dp"></Button>
<TextView android:text="TextView" android:layout_width="wrap_content" android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true"></TextView>
</RelativeLayout>