Java setText使我的应用程序崩溃
我不懂Android编程,也不懂网络,我不明白为什么我的应用程序在设置一个Java setText使我的应用程序崩溃,java,android,textview,Java,Android,Textview,我不懂Android编程,也不懂网络,我不明白为什么我的应用程序在设置一个TextView的文本时会崩溃 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_result, container, fal
TextView
的文本时会崩溃
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_result,
container, false);
nombre = (TextView) rootView.findViewById(R.id.textView2);
edad = (TextView) rootView.findViewById(R.id.textView4);
sex = (TextView) rootView.findViewById(R.id.textView6);
return rootView;
}
我的第一个活动是一个问题:
public class MainActivity extends ActionBarActivity {
private static Spinner spinner;
private static LinkedList<Integer> list;
private static EditText editText1, editText2;
private RadioGroup rG;
public ArrayList<String> info;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
private static void ageSpinner(View v) {
list = new LinkedList<Integer>();
for (Integer i = 0; i <= 110; i++) {
list.add(i);
}
ArrayAdapter<Integer> spinnerAdapter = new ArrayAdapter<Integer>(
v.getContext(), android.R.layout.simple_spinner_item, list);
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAdapter);
}
public void goResult(View v) {
info = new ArrayList<String>();
editText1 = (EditText) findViewById(R.id.editText1);
editText2 = (EditText) findViewById(R.id.editText2);
info.add(editText1.getText().toString());
info.add(editText2.getText().toString());
rG = (RadioGroup) findViewById(R.id.radioGroup1);
int select = rG.getCheckedRadioButtonId();
if (select == R.id.radio0) {
info.add("Male");
} else {
info.add("Female");
}
info.add(spinner.getSelectedItem().toString());
Intent i = new Intent(this, Result.class);
i.putExtra("miki", info);
startActivity(i);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
spinner = (Spinner) rootView.findViewById(R.id.spinner1);
ageSpinner(rootView);
return rootView;
}
}
}
有什么想法吗
谢谢 在getResult
中有一个NullPointerException
(可能是因为对findViewById
的所有调用都返回Null
)
您可能已经在片段XML中声明了UI组件(TextView
等),并试图从R.layout.activity\u result
检索它,反之亦然。检查您是否已在R.layout.fragment\u main
中声明了UI组件,并从onCreateView
中检索它们
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_result,
container, false);
nombre = (TextView) rootView.findViewById(R.id.textView2);
edad = (TextView) rootView.findViewById(R.id.textView4);
sex = (TextView) rootView.findViewById(R.id.textView6);
return rootView;
}
首先,在main活动中
在Intent
中添加ArrayList
,如下所示:
Intent i = new Intent(this, Result.class);
i.putStringArrayListExtra("miki", info);
startActivity(i);
在您的Result
活动中,调用您的getResult()如果(savedInstanceState==null){
条件如下,则在之前使用code>方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
getResult();
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
发布您的logcat错误。尝试将此b.putStringArrayList(“miki”,info);
添加到您的BundleInwich布局文件中您是否声明了UI组件?很高兴提供帮助:)@j4m3s0n
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
getResult();
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}