在XML中显示来自Java的设备名称(Android Studio)

时间:2017-01-14 12:57:24

标签: java android xml bluetooth

我正在寻找一种在TextView中显示Android设备名称(从手机自动获取)的方法。我已经阅读了答案,但由于我不熟悉它们,因为我是新手,我希望你能帮助我。

我这样做的方法是从蓝牙适配器获取设备名称。我已将以下内容添加到AndroidManifest.xml

<uses-permission android:name="android.permission.BLUETOOTH"/>

然后我将以下内容添加到MainActivity.java中。一旦我开始工作,我将添加if null值。

BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();

如何在activity_main.xml中将String deviceName获取到我的TextView?

提前谢谢。

修改

这就是我的TextVew在activity_main.xml中的外观:

<TextView
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/title"
    android:textSize="42sp"
    android:textColor="@android:color/white"
    android:gravity="center_horizontal"/>

这就是MainActivty.java的样子:

protected void onCreate(Bundle savedInstanceState) {

        BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
        String deviceName = myDevice.getName();
        TextView tv = (TextView) findViewById(R.id.text1);
        tv.setText(deviceName);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

3 个答案:

答案 0 :(得分:1)

  

我是否需要在TextView中添加ID或任何内容?我在&#34; android:text =&#34;&#34;中写了什么? ?我仍然不确定如何在XML文件中弹出deviceName

如果您希望在运行时处理任何View,您应该提供Id,以便您可以使用View获取findViewById(int),如下所示

TextView tv = (TextView) findViewById(R.id.your_id);

一旦获得该视图,您就可以操纵View

在您的情况下,您需要将TextView的文本设置为您的蓝牙名称。 因此,您可以使用setText()

TextView方法
tv.setText("I'm Jay");

使用该背景

在您的活动的xml布局文件中放置TextView

<TextView 
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dip"
android:textAppearance="?android:attr/textAppearanceMedium" />

和Java代码 内部活动onCreate()中的java代码放置此代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();
TextView tv = (TextView) findViewById(R.id.text1);
tv.setText(deviceName);
..
..
}

希望这会有所帮助:)

答案 1 :(得分:0)

您只需要执行以下操作:

TextView myTextView = (TextView) findViewById(R.id.myTextView);
myTextView.setText("Device name: " + deviceName);

setText()方法设置您提供给TextView的String。可以找到文档here

答案 2 :(得分:0)

首先找到你的textView并在设置值之后。

TextView textView = (TextView) findViewById(R.id.your_text_view_id);
textView.setText(deviceName);