如何获得textview的价值?

时间:2014-11-25 11:36:15

标签: java android textview findviewbyid

我试过了:

    TextView textView1 = (TextView) getActivity().findViewById(R.id.date);
    String s1 = textView1.getText().toString();

但在第二行出现错误:

java.lang.NullPointerException
at com.ancort.cryptophone.guitest.CAMyTest.testMail_000(CAMyTest.java:94)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:192)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:177)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1619)

另外,我试过

    TextView textView1 = (TextView)findViewByID(R.id.date);
    String s = textView1.getText().toString();

但是在这种情况下“findViewByID”红色突出显示错误“无法解析方法findViewById(int)”。我知道该类必须从Activity类扩展,但我的类从另一个类扩展。如何获取textview的值?

3 个答案:

答案 0 :(得分:0)

如果您使用的是getActivity,那么您在Fragment中,并且视图可能只是片段本身的一部分。

变化

 TextView textView1 = (TextView) getActivity().findViewById(R.id.date);

 TextView textView1 = (TextView) getView().findViewById(R.id.date);

如果您在onCreateView

之后使用该行

答案 1 :(得分:0)

我认为你正在使用Fragment。在onCreateView里面写

View view = inflater.inflate(R.layout.your_fragment_layout,container, false);                                                                         
TextView textView1 = (TextView) view.findViewById(R.id.date);  

希望这会奏效。 :)

答案 2 :(得分:0)

我想获得TextView中的值。决定很简单:

TextView textView1 = (TextView) solo.getView(R.id.date); String s1 =
textView1.getText().toString();

谢谢大家。