[英]How to insert Phone icon in every line in second Activity in Android code
I am doing a Android app where I want to show each travel's names with their contact numbers line by line. 我正在做一个Android应用,我想在其中逐行显示每个旅行的姓名及其联系电话。 Here is the code:
这是代码:
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>
When I click on "Travels and Holidays" button in the first activity, it goes to another activity and displays the following: 当我在第一个活动中单击“旅行和假期”按钮时,它将转到另一个活动并显示以下内容:
7843564358
7664764358
8804764358
When clicked on this number, it goes to call option of that number. 单击此号码后,将转到该号码的通话选项。
But what I want is: When I click on "Travels and Holidays" button in the first activity, it should go to another activity and should display the following: 但是我想要的是:当我在第一个活动中单击“旅行和假期”按钮时,它应该转到另一个活动并显示以下内容:
Travels1 - 7843564358 Phone Icon
Travels2 - 7664764358 Phone Icon
Travels3 - 8804764358 Phone Icon
When I click on the Phone Icon of a particular travel, it should go to call option of that number. 当我单击特定旅行的电话图标时,它应该转到该号码的通话选项。
How to fix this? 如何解决这个问题? Please help.
请帮忙。 Thanks in advance.
提前致谢。
First change your main2 xml file like this 首先像这样更改您的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>
and change you App2Activity class like this 并像这样更改您的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);
}
});
}
But i must say that this is not a better way to do this... You can use custome ListView
. 但是我必须说,这不是一种更好的方法...您可以使用
custome ListView
。 For study about listview link-1 , link-2 为了研究listview link-1 , link-2
1.You have to replace main2.xml file's code with this one 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>
Change App2Activity.java code as follows: 更改App2Activity.java代码,如下所示:
ImageButton btnPhoneOne, btnPhoneTwo, btnPhoneThree; ImageButton btnPhoneOne,btnPhoneTwo,btnPhoneThree; TextView txtNum1, txtNum2, txtNum3;
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); } });
} }
You can see image main2.xml screenshot 您可以看到图像main2.xml的屏幕截图
Use Image button And use an Phone icon Image in xml file. 使用图像按钮,然后在xml文件中使用电话图标图像。
like this: 像这样:
<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.