我已经四处搜索,但遗憾的是找不到我实际上正在寻找的内容,提到developer.android仍然没有得到它。所以我想要做的是使用一个函数,获取设备模型并构建,然后将其显示为TextView
。
我已经获得了检索信息的代码 -
public String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
return capitalize(model);
} else {
return capitalize(manufacturer) + " " + model;
}
}
private String capitalize(String s) {
if (s == null || s.length() == 0) {
return "";
}
char first = s.charAt(0);
if (Character.isUpperCase(first)) {
return s;
} else {
return Character.toUpperCase(first) + s.substring(1);
}
}
但是现在,我希望在TextView
<com.ascendapps.beam.MyTextView
android:id="@+id/device"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_gravity="center"
android:textColor="#4c4c4c"
android:gravity="center"
android:textSize="25sp"
android:text="@string/welcome" />
答案 0 :(得分:3)
首先在MyTextView
中初始化您的onCreate
,然后使用getDeviceName()
方法设置从setText()
返回的文字。
试试如下:
MyTextView text=(MyTextView)findViewById(R.id.device);
text.setText(getDeviceName());
答案 1 :(得分:2)
我建议您对textview xml代码进行此更改
<TextView
android:id="@+id/device"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_gravity="center"
android:textColor="#4c4c4c"
android:gravity="center"
android:textSize="25sp"
android:text="@string/welcome" />
除非您必须使用自己的自定义文本视图。 然后你可以这样做来显示
your_textview_name.setText(getDeviceName());
答案 2 :(得分:2)
首先,您必须获得对TextView元素的引用。 例如:
TextView yourTextViewIdentifier = (TextView) findViewById(R.id.idTextView);
其中yourTextViewIdentifier是TextView引用的变量名,而idTextView是您在xml中定义的id,用于在布局中命名TextView。
现在,您可以设置TextView的文本:
yourTextViewIdentifier.setText(getDeviceName());
希望它有所帮助。
答案 3 :(得分:0)
谢谢大家,我设法使用setText方法。
private TextView device;
device = (TextView)findViewById(R.id.device);
device.setText(getDeviceName());
答案 4 :(得分:0)
要在textview中查找设备型号,请执行以下操作
textviewObject.settext(android.os.Build.MODEL);
这将在textview中显示你的设备型号...