好的,所以我搜索了大量关于同一件事的其他问题,但不知何故,这些解决方案都没有解决我的问题。所以这是我的问题,我的 Android 应用程序在必须将文本从 EditText 获取到 String 时立即崩溃。我在这里有我的“主要”活动:
package ign.test.fre;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class testfre extends Activity {
public static String cv = "";
public static String cm = "";
public static String cz = "";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//OTHER DEFINITIONS
EditText ev = (EditText) findViewById(R.id.v);
final Spinner em =(Spinner) findViewById(R.id.m);
final Spinner ez = (Spinner) findViewById(R.id.z);
final Button ee = (Button) findViewById(R.id.GO);
//LOTS OF SPINNER STUFF
ee.setOnClickListener(new AdapterView.OnClickListener() {
public void onClick(View arg0) {
if(initialsetup == false){
enter = true;
run();
}
}
});
ev.setOnKeyListener(new AdapterView.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
int key = event.getKeyCode();
if(key == KeyEvent.KEYCODE_ENTER){
enter = true;
}
return false;
}
});
initialsetup = false;
}
public void run(){
if(enter == true){
Calc.Test0();
Calc.Test1_se();
Calc.Test2_etre();
Calc.Test3_irr();
if(Test3_irr == false){
//MORE CODE
textview6.setText("" + ausgabezeile[5]);
}
}
}
我的 Calc-Class 看起来像这样:package ign.test.fre;
public class Calc {
public static void Test0(){
testfre.cv = testfre.ev.getText().toString();
testfre.cm = Data.m()[testfre.em.getSelectedItemPosition()];
testfre.cz = Data.zeiten()[testfre.ez.getSelectedItemPosition()];
testfre.cv = testfre.cv.toLowerCase();
testfre.per1.setText(Data.personen()[0]);
//...
}
public static void Test1_se(){
//MORE CODE
并且在 Test0() 的前 3 行中存在问题。这些行中的哪一行是第一个或它们在代码中的哪个位置都无关紧要,它们始终是它们。即使将它们移动到 run() 或 onClick() 也没有改变任何东西。
我的 xml 布局如下所示:
<android:weightSum="1">
<EditText android:text="Enter Text" android:id="@+id/v" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true"></EditText>
<Spinner android:layout_width="100dp" android:id="@+id/m" android:layout_height="wrap_content" android:layout_below="@+id/v" android:layout_alignParentLeft="true"></Spinner>
<Button android:id="@+id/GO" android:layout_width="70dp" android:layout_height="wrap_content" android:text="GO" android:layout_alignTop="@+id/z" android:layout_alignParentRight="true"></Button>
<Spinner android:layout_width="150dp" android:id="@+id/z" android:layout_height="wrap_content" android:layout_below="@+id/v" android:layout_toRightOf="@+id/m"></Spinner>
我的 Logcat 条目如下所示(ignian.lomoko.french 与 ign.test.fre 等相同):
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at android.app.ActivityThread.main(ActivityThread.java:3683)
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at java.lang.reflect.Method.invokeNative(Native Method)
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at java.lang.reflect.Method.invoke(Method.java:507)
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-25 11:58:41.028: ERROR/AndroidRuntime(316): at dalvik.system.NativeStart.main(Native Method)
10-25 11:58:41.038: WARN/ActivityManager(61): Force finishing activity ignian.lomoko.french/.lomokofrench
10-25 11:58:41.558: WARN/ActivityManager(61): Activity pause timeout for HistoryRecord{405c6018 ignian.lomoko.french/.lomokofrench}
10-25 11:58:43.698: INFO/Process(316): Sending signal. PID: 316 SIG: 9
10-25 11:58:43.708: INFO/ActivityManager(61): Process ignian.lomoko.french (pid 316) has died.
10-25 11:58:43.708: INFO/WindowManager(61): WIN DEATH: Window{40691bd8 ignian.lomoko.french/ignian.lomoko.french.lomokofrench paused=false}
10-25 11:58:43.809: WARN/InputManagerService(61): Got RemoteException sending setActive(false) notification to pid 316 uid 10034
10-25 11:58:52.691: WARN/ActivityManager(61): Activity destroy timeout for HistoryRecord{405c6018 ignian.lomoko.french/.lomokofrench}
感谢您预先提供的任何帮助,因为我在其他任何地方都找不到任何类型的解决方案。到目前为止,在其他人的帮助下,我理解的问题是我无法从“Calc”-Class 访问我的变量。我想我正在寻找的是一种公开 Spinners 和 EditText 的方法。
好吧,我遵循了 dten 的解决方案,现在它可以工作了!