[英]How to insert Phone icon in every line in second Activity in Android code
我正在做一个Android应用,我想在其中逐行显示每个旅行的姓名及其联系电话。 这是代码:
package com.example.android;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class AppActivity extends Activity{
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i=new Intent(AppActivity.this, App2Activity.class);
i.putExtra("name1","Travels1");
i.putExtra("number1","7843564358");
i.putExtra("name2","Travels2");
i.putExtra("number2","7664764358");
i.putExtra("name3","Travels3");
i.putExtra("number3","8804764358");
startActivity(i);
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/travel_button" />
</LinearLayout>
package com.example.android;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class App2Activity extends Activity {
String name1,name2,name3;
Button btnOne, btnTwo, btnThree;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
btnOne = (Button)findViewById(R.id.btnOne);
btnTwo = (Button)findViewById(R.id.btnTwo);
btnThree = (Button)findViewById(R.id.btnThree);
String number1=getIntent().getStringExtra("number1");
String number2=getIntent().getStringExtra("number2");
String number3=getIntent().getStringExtra("number3");
btnOne.setText(number1);
btnTwo.setText(number2);
btnThree.setText(number3);
btnOne.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnOne.getText()));
startActivity(callIntent);
}
});
btnTwo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnTwo.getText()));
startActivity(callIntent);
}
});
btnThree.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnThree.getText()));
startActivity(callIntent);
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/btnOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btnTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btnThree"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Travel Details</string>
<string name="travel_button">Travels and Holidays</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".AppActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".App2Activity" >
</activity>
</application>
</manifest>
当我在第一个活动中单击“旅行和假期”按钮时,它将转到另一个活动并显示以下内容:
7843564358
7664764358
8804764358
单击此号码后,将转到该号码的通话选项。
但是我想要的是:当我在第一个活动中单击“旅行和假期”按钮时,它应该转到另一个活动并显示以下内容:
Travels1 - 7843564358 Phone Icon
Travels2 - 7664764358 Phone Icon
Travels3 - 8804764358 Phone Icon
当我单击特定旅行的电话图标时,它应该转到该号码的通话选项。
如何解决这个问题? 请帮忙。 提前致谢。
首先像这样更改您的main2 xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextBox
android:id="@+id/txtOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Travels - 1" />
<TextBox
android:id="@+id/txtNum1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/btnCall1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ic_menu_paste_mtrl_am_alpha" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextBox
android:id="@+id/txtTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Travels - 2" />
<TextBox
android:id="@+id/txtNum2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/btnCall2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ic_menu_paste_mtrl_am_alpha" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextBox
android:id="@+id/txtThree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Travels - 3" />
<TextBox
android:id="@+id/txtNum3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/btnCall3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ic_menu_paste_mtrl_am_alpha" />
</LinearLayout>
</LinearLayout>
并像这样更改您的App2Activity类
String name1,name2,name3;
ImageButton btnOne, btnTwo, btnThree;
TextView txtNum1,txtNum2,txtNum3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
btnOne = (ImageButton)findViewById(R.id.btnOne);
btnTwo = (ImageButton)findViewById(R.id.btnTwo);
btnThree = (ImageButton)findViewById(R.id.btnThree);
txtNum1=(TextView)findViewById(R.id.txtNum1);
txtNum2=(TextView)findViewById(R.id.txtNum2);
txtNum3=(TextView)findViewById(R.id.txtNum3);
String number1=getIntent().getStringExtra("number1");
String number2=getIntent().getStringExtra("number2");
String number3=getIntent().getStringExtra("number3");
txtNum1.setText(number1);
txtNum2.setText(number2);
txtNum3.setText(number3);
btnOne.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnOne.getText()));
startActivity(callIntent);
}
});
btnTwo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnTwo.getText()));
startActivity(callIntent);
}
});
btnThree.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent callIntent = new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:"+btnThree.getText()));
startActivity(callIntent);
}
});
}
但是我必须说,这不是一种更好的方法...您可以使用custome ListView
。 为了研究listview link-1 , link-2
1.您必须用这一个替换main2.xml文件的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/llContainer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/travel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Travels1 - " />
<TextView
android:id="@+id/txtNumber1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dip"
android:layout_marginRight="20dip"
android:text="325235" />
<ImageButton
android:id="@+id/btnPhone1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/stat_sys_phone_call" />
</LinearLayout>
<LinearLayout
android:id="@+id/llContainer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/travel2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Travels2 - " />
<TextView
android:id="@+id/txtNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dip"
android:layout_marginRight="20dip"
android:text="455345" />
<ImageButton
android:id="@+id/btnPhone2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/stat_sys_phone_call" />
</LinearLayout>
<LinearLayout
android:id="@+id/llContainer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/travel3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Travels3 - " />
<TextView
android:id="@+id/txtNumber3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dip"
android:layout_marginRight="20dip"
android:text="453532" />
<ImageButton
android:id="@+id/btnPhone3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/stat_sys_phone_call" />
</LinearLayout>
</LinearLayout>
更改App2Activity.java代码,如下所示:
ImageButton btnPhoneOne,btnPhoneTwo,btnPhoneThree; TextView txtNum1,txtNum2,txtNum3;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); btnPhoneOne = (ImageButton) findViewById(R.id.btnPhone1); btnPhoneTwo = (ImageButton) findViewById(R.id.btnPhone2); btnPhoneThree = (ImageButton) findViewById(R.id.btnPhone3); txtNum1 = (TextView) findViewById(R.id.txtNumber1); txtNum2 = (TextView) findViewById(R.id.txtNumber2); txtNum3 = (TextView) findViewById(R.id.txtNumber3); String number1 = getIntent().getStringExtra("number1"); String number2 = getIntent().getStringExtra("number2"); String number3 = getIntent().getStringExtra("number3"); txtNum1.setText(number1); txtNum2.setText(number2); txtNum3.setText(number3); btnPhoneOne.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent callIntent = new Intent(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + txtNum1.getText())); startActivity(callIntent); } }); btnPhoneTwo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent callIntent = new Intent(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + txtNum2.getText())); startActivity(callIntent); } }); btnPhoneThree.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent callIntent = new Intent(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + txtNum3.getText())); startActivity(callIntent); } });
}
您可以看到图像main2.xml的屏幕截图
使用图像按钮,然后在xml文件中使用电话图标图像。
像这样:
<ImageButton
android:id="@+id/btnCall1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/abc_ic_menu_paste_mtrl_am_alpha" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.