Fragment / Set TextView中的显示方法

时间:2015-02-15 00:33:44

标签: android android-fragments textview

我在网上找不到任何关于如何将方法放入TextView的示例,以便在打开应用程序时在片段中显示。我想我记得它就像是

+ "text" + getDeviceName() + "more text"

fragment_home.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/txtLabel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16dp"
    android:text="@string/overview_one"/>
</RelativeLayout>

HomeFragment.java

package info.androidhive.slidingmenu;

import android.app.Fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class HomeFragment extends Fragment {


    public HomeFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_home, container,  false);

        return rootView;

    }

    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);
       }
    }


}

2 个答案:

答案 0 :(得分:0)

我不清楚你在问什么。所以这里...... 应用程序打开时会发生Activity.OnCreate方法。但是,您可以通过示例代码将文本设置为TextView:

TextView itemText = (TextView) rootView.findViewById(R.id.txtLabel);
itemText.setText("text " + getDeviceName());

如果要在代码中隐藏视图而不是xml,请执行以下操作:

itemText.setVisibility(false);

您可以将代码放入片段类中的onCreateView方法,除非您想要创建一个新的(公共)方法。 我希望这接近你所要求的。

答案 1 :(得分:0)

     //I am not sure you want exactly, but 
     //Write Down a Code onCreateView
     TextView tv = (TextView) rootView.findViewById(R.id.tv);

     //Call  method write now
     String s = getDeviceName();
     tv.setText(s);