2017-02-12 35 views
0

我在搜索答案時差不多有10個小時。爲什麼我的應用程序在我啓動時崩潰。如何在創建或調用按鈕時更改片段中的TextView

我真正想要的是一個函數,當我在Edittext上單擊確定時,文本將被寫入文本視圖。但首先要在文件中創建文件,在類中創建extence片段。

package youtube.demo.youtubedemo.Fragments.Calculator_list; 
import android.app.Fragment; 
import android.app.FragmentManager; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.EditText; 
import android.widget.TextView; 
import youtube.demo.youtubedemo.R; 
public class Calculator_list extends Fragment { 
View view; 
    FragmentManager fragmentManager; 

public Calculator_list() { 
} 
TextView Damage1pise; 
    EditText Damage1beri; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     view = inflater.inflate(R.layout.fragment_calculator_list, container, false); 
    Damage1beri = (EditText) view.findViewById(R.id.Game1_read_dmg_list_Player1); 
     Damage1pise = (TextView)view.findViewById(R.id.Game1_writen_dmg_list_Player1); 
     Damage1pise.setText("123"); 
     return view; 
    } 
    public TextView Returnelement() 
    { 
     return Damage1pise; 
    } 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     Damage1pise = (TextView)getView().findViewById(R.id.Game1_writen_dmg_list_Player1); 
     Damage1pise.setText("1234"); 

     super.onCreate(savedInstanceState); 
    } 
} 

我真的希望是一個funcction,當我點擊EDITTEXT確定,文本將在文字寫

public void OnButton1click(View v) 
{ 
    Damage1.settext(v.text)  

// This is hard coded, First I want to set text on create then go on whit the code 



} 

這裏有錯誤。 E/AndroidRuntime:致命例外:主要 進程:youtube.demo.youtubedemo,PID:2736 java.lang.NullPointerException:試圖調用虛擬方法'android.view.View android.view.View.findViewById(int)'在android.app.Fragment.performCreate(Fragment.java:2335) 處的空對象引用 at youtube.demo.youtubedemo.Fragments.Calculator_list.Calculator_list.onCreate(Calculator_list.java:47) at android.app.FragmentManagerImpl .moveToState(FragmentManager.java:949) 在android.app.BackStackRecord.setLastIn(BackStackRecord.java:857) 在android.app.BackStackRecord.calculateFragments(BackStackRecord.java:897) 在android.app.BackStackRecord.run (BackStackRecord.java:727) 在android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578) 在android.app.FragmentManagerImpl $ 1.run(FragmentManager.java:483) 在android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java .lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit。 java:755)

+0

請爲我們顯示logcat錯誤。 – statosdotcom

+0

當我打開它的崩潰時,崩潰,在這裏某處。 @Override 公共無效的onCreate(捆綁savedInstanceState){ Damage1pise =(TextView的)getView()findViewById(R.id.Game1_writen_dmg_list_Player1)。 Damage1pise.setText(「1234」); super.onCreate(savedInstanceState); } 錯誤 –

回答

0

在這行你表現的代碼,這兩種方法,證明自己,你有(TextView)之間的空白和句子的末尾,象下面這樣:

Damage1pise = (TextView) getView().findViewById(R.id.Game1_writen_dmg_list_Player1);

此外,證明自己,你有一個TextView您調用佈局文件XML與名Game1_writen_dmg_list_Player1,因爲錯誤是被一個空引用提出,即:你調用未找到元素(也許書面有兩個牛逼 S')。

+0

@Jaka Basej對不起,我能幫助更多的東西嗎?謝謝。 – statosdotcom

+0

@Jaka Basej請問你有沒有發現你的問題?這是我分析後指出的那件事情嗎?如果是這樣,請認清我的努力對你的好處。謝謝。 – statosdotcom

相關問題