2014-11-05 24 views
0

我遇到了嘗試在我的android應用程序上將文本設置爲TextView的實際問題。我試圖顯示的字符串通過意圖傳遞給另一個活動。我似乎已經成功地從意圖中獲取了額外的內容,但是我無法將其附加到我的TextView。請有人可以幫忙嗎?我在整個使用碎片。無法在Android中將TextText設置爲TextView

我所得到的是我的佈局顯示沒有我想要分配的文本。

Fragment:2 

    @Override 
public View onCreateView(LayoutInflater inflater, ViewGroup parent, 
     Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.article_fragment, parent, false); 

    journalTitle = (String) getArguments().getString(EXTRA_JOURNALTITLE); // extra from intent 
    Log.d("onCreateView", "a.getJournalTitle: " + journalTitle); // this works. displays in logCat 

    journalTitleView = (TextView) v 
      .findViewById(R.id.journalTitle_articleFragment_textView); 
    journalTitleView.setText(journalTitle); 

佈局:

<?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/journalTitle_articleFragment_textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="5dp" 
    android:layout_marginTop="5dp" 
    android:text="journal title" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/pubYear_articleFragment_textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="5dp" 
    android:layout_marginTop="5dp" 
    android:layout_toRightOf="@id/journalTitle_articleFragment_textView" 
    android:text="pubYear" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/volume_articleFragment_textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="5dp" 
    android:layout_marginTop="5dp" 
    android:layout_toRightOf="@id/pubYear_articleFragment_textView" 
    android:text="volume" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/issue_articleFragment_textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:layout_toRightOf="@id/volume_articleFragment_textView" 
    android:text="issue" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/pageInfo_articleFragment_textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:layout_marginTop="5dp" 
    android:layout_toRightOf="@id/issue_articleFragment_textView" 
    android:text="pageInfo" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/title_articleFragment_textView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/journalTitle_articleFragment_textView" 
    android:gravity="center" 
    android:layout_marginTop="25dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:text="article title" 
    android:textSize="20sp" 
    android:textStyle="bold" /> 

<TextView 
    android:id="@+id/authorString_articleFragment_textView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/title_articleFragment_textView" 
    android:layout_marginBottom="5dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:text="authors" 
    android:textSize="12sp" /> 

<TextView 
    android:id="@+id/abstractText_articleFragment_textView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/authorString_articleFragment_textView" 
    android:layout_marginBottom="5dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:text="abstractText" 
    android:textSize="15sp" /> 

+0

你可以發佈佈局嗎? – Blackbelt 2014-11-05 16:33:47

+0

嘗試一些像。不是soln,而是..在xml中設置文本屬性n代碼中的getText,並在logcat和Ui中查看。然後追加一些字符串並再次檢查。 – Manmohan 2014-11-05 16:38:50

+0

您是否收到異常?你的article_fragment.xml是否有一個帶有journalTitle_articleFragment_textView的TextView? – 2014-11-05 16:41:20

回答

0

嘗試:

的TextView journalTitleView =(TextView的)v.findViewById(R.id.journalTitle_articleFragment_textView); journalTitleView.setText(journalTitle);

+0

的末尾,這正是我所做的。請不要說我已經定義了TextView journalTitleView;在文檔的頂部(此處未顯示) – user3274549 2014-11-05 16:46:05

+0

從代碼中刪除v:TextView journalTitleView =(TextView)findViewById(R.id.journalTitle_articleFragment_textView); journalTitleView.setText(journalTitle); – Fouad 2014-11-05 17:06:34

+0

我使用片段,因此刪除v招致錯誤。我認爲你可以這樣做,只使用活動 – user3274549 2014-11-05 17:08:20

1

在onCreateView你應該只誇大你的佈局,並將其返回:

View v = inflater.inflate(R.layout.article_fragment, parent, false); 
return v; 

你的TextView的修改應該被移到onViewCreated

+0

試過這個。仍然得到相同的問題 – user3274549 2014-11-05 17:23:29

+1

您是否已將此行-journalTitleView =(TextView)v .findViewById(R.id.journalTitle_articleFragment_textView)移至onViewCreated,並使用其返回的視圖public void onViewCreated(View view,Bundle savedInstanceState)? – 2014-11-05 17:27:08

+0

public void onViewCreated(View v,Bundle savedInstanceState){ \t \t journalTitle =(String)getArguments()。getString(EXTRA_JOURNALTITLE); \t \t日誌。d(「onCreateView」,「journalTitle value:」+ journalTitle); \t \t journalTitleView2 =(TextView的)V \t \t \t \t .findViewById(R.id.journalTitle_articleFragment_textView); \t \t journalTitleView2.setText(journalTitle); \t} – user3274549 2014-11-05 17:50:33

0

我想你應該試試這個代碼:

public static void changeFragmentTextView(String s) { 
    Fragment frag = getFragmentManager().findFragmentById(R.id.yourFragment); 
    ((TextView) frag.getView().findViewById(R.id.ournalTitle_articleFragment_textView)).setText(s); 
}` 
相關問題