Java 如何在一个TableRow中显示两个字符串?
我的源代码中有两个值(时间选择器按钮中的currentHour和currentMinute),我想将它们组合成一个字符串,我可以在xml布局中显示(12:30,而不是12和30)。我已经能够编译下面的代码,但我遇到了困难,它强制关闭,我需要一些帮助:我只想添加一点代码,将currentHour和currentMinute组合成一个字符串,以便稍后在xml布局中从时间选择器调用时间Java 如何在一个TableRow中显示两个字符串?,java,android,xml,eclipse,string,Java,Android,Xml,Eclipse,String,我的源代码中有两个值(时间选择器按钮中的currentHour和currentMinute),我想将它们组合成一个字符串,我可以在xml布局中显示(12:30,而不是12和30)。我已经能够编译下面的代码,但我遇到了困难,它强制关闭,我需要一些帮助:我只想添加一点代码,将currentHour和currentMinute组合成一个字符串,以便稍后在xml布局中从时间选择器调用时间 import android.app.Activity; import android.app.AlertDialo
import android.app.Activity;
import android.app.AlertDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.ViewGroup;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.TimePicker;
public class AddEditCountry extends Activity {
private long rowID;
private EditText nameEt;
private EditText capEt;
private EditText codeEt;
private TimePicker timeEt;
private TimePicker minEt;
public static final String KEY_BUNDLE_TIME = "time";
public static final String KEY_BUNDLE_MIN = "min";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.add_country);
nameEt = (EditText) findViewById(R.id.nameEdit);
capEt = (EditText) findViewById(R.id.capEdit);
codeEt = (EditText) findViewById(R.id.codeEdit);
timeEt = (TimePicker) findViewById(R.id.timeEdit);
// minEt = (TimePicker) findViewById(R.id.minEdit);
Bundle extras = getIntent().getExtras();
if (extras != null)
{
rowID = extras.getLong("row_id");
nameEt.setText(extras.getString("name"));
capEt.setText(extras.getString("cap"));
codeEt.setText(extras.getString("code"));
timeEt.setCurrentHour(extras.containsKey(KEY_BUNDLE_TIME) ? extras.getInt(KEY_BUNDLE_TIME) : 0);
minEt.setCurrentMinute(extras.getInt("min"));
}
Button saveButton =(Button) findViewById(R.id.saveBtn);
saveButton.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
if (nameEt.getText().length() != 0)
{
AsyncTask<Object, Object, Object> saveContactTask = new AsyncTask<Object, Object, Object>()
{
@Override
protected Object doInBackground(Object... params)
{
saveContact();
return null;
}
@Override
protected void onPostExecute(Object result)
{
finish();
}
};
saveContactTask.execute((Object[]) null);
}
else
{
AlertDialog.Builder alert = new AlertDialog.Builder(AddEditCountry.this);
alert.setTitle(R.string.errorTitle);
alert.setMessage(R.string.errorMessage);
alert.setPositiveButton(R.string.errorButton, null);
alert.show();
}
}
});
}
private void saveContact()
{
DatabaseConnector dbConnector = new DatabaseConnector(this);
if (getIntent().getExtras() == null)
{
dbConnector.insertContact(nameEt.getText().toString(),
capEt.getText().toString(),
timeEt.getCurrentHour().toString(),
minEt.getCurrentMinute().toString(),
codeEt.getText().toString());
}
else
{
dbConnector.updateContact(rowID,
nameEt.getText().toString(),
capEt.getText().toString(),
timeEt.getCurrentHour().toString(),
minEt.getCurrentMinute().toString(),/* Storing as String*/
codeEt.getText().toString());
}
}
}
LOGCAT:
03-24 00:48:57.779: D/Activity(6809): Activity.onPause(), editTextTapSensorList size: 0
03-24 00:48:57.959: I/Adreno200-EGLSUB(6809): <ConfigWindowMatch:2165>: Format RGBA_8888.
03-24 00:48:57.959: D/memalloc(6809): ion: Mapped buffer base:0x5ca41000 size:614400 offset:0 fd:54
03-24 00:48:58.049: D/memalloc(6809): ion: Mapped buffer base:0x5dc22000 size:614400 offset:0 fd:75
03-24 00:48:58.079: D/memalloc(6809): ion: Mapped buffer base:0x5dcb8000 size:614400 offset:0 fd:78
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5d4ce000 size:614400
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5d6f7000 size:614400
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5c929000 size:614400
03-24 00:49:10.623: W/dalvikvm(6809): threadid=12: thread exiting with uncaught exception (group=0x410889d8)
03-24 00:49:10.643: E/AndroidRuntime(6809): FATAL EXCEPTION: AsyncTask #2
03-24 00:49:10.643: E/AndroidRuntime(6809): java.lang.RuntimeException: An error occured while executing doInBackground()
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$3.done(AsyncTask.java:278)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.lang.Thread.run(Thread.java:856)
03-24 00:49:10.643: E/AndroidRuntime(6809): Caused by: java.lang.NullPointerException
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry.saveContact(AddEditCountry.java:101)
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry.access$1(AddEditCountry.java:92)
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry$1$1.doInBackground(AddEditCountry.java:65)
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$2.call(AsyncTask.java:264)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-24 00:49:10.643: E/AndroidRuntime(6809): ... 5 more
03-24 00:49:10.663: D/Activity(6809): Activity.onPause(), editTextTapSensorList size: 0
03-24 00:49:10.693: I/Adreno200-EGLSUB(6809): <ConfigWindowMatch:2165>: Format RGBA_8888.
03-24 00:49:10.693: D/memalloc(6809): ion: Mapped buffer base:0x5d4cb000 size:614400 offset:0 fd:57
03-24 00:49:10.713: D/memalloc(6809): ion: Mapped buffer base:0x5d8f7000 size:614400 offset:0 fd:68
03-24 00:49:10.753: D/memalloc(6809): ion: Mapped buffer base:0x5e14e000 size:614400 offset:0 fd:72
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5ca41000 size:614400
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5dc22000 size:614400
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5dcb8000 size:614400
03-24 00:48:57.779:D/Activity(6809):Activity.onPause(),editTextTapSensorList大小:0
03-24 00:48:57.959:I/Adreno200 EGLSUB(6809)::格式RGBA_8888。
03-24 00:48:57.959:D/memalloc(6809):离子:映射缓冲区基址:0x5ca41000大小:614400偏移量:0 fd:54
03-24 00:48:58.049:D/memalloc(6809):离子:映射的缓冲区基址:0x5dc22000大小:614400偏移量:0 fd:75
03-24 00:48:58.079:D/memalloc(6809):离子:映射缓冲区基址:0x5dcb8000大小:614400偏移量:0 fd:78
03-24 00:48:58.079:D/memalloc(6809):离子:取消映射缓冲区基:0x5d4ce000大小:614400
03-24 00:48:58.079:D/memalloc(6809):离子:取消映射缓冲区基:0x5d6f7000大小:614400
03-24 00:48:58.079:D/memalloc(6809):离子:取消映射缓冲区基:0x5c929000大小:614400
03-24 00:49:10.623:W/dalvikvm(6809):threadid=12:线程退出时出现未捕获异常(组=0x410889d8)
03-24 00:49:10.643:E/AndroidRuntime(6809):致命异常:AsyncTask#2
03-24 00:49:10.643:E/AndroidRuntime(6809):java.lang.RuntimeException:执行doInBackground()时出错
03-24 00:49:10.643:E/AndroidRuntime(6809):在android.os.AsyncTask$3.done(AsyncTask.java:278)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.FutureTask.setException(FutureTask.java:124)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
03-24 00:49:10.643:E/AndroidRuntime(6809):在java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-24 00:49:10.643:E/AndroidRuntime(6809):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-24 00:49:10.643:E/AndroidRuntime(6809):在java.lang.Thread.run(Thread.java:856)上
03-24 00:49:10.643:E/AndroidRuntime(6809):由以下原因引起:java.lang.NullPointerException
03-24 00:49:10.643:E/AndroidRuntime(6809):在com.nfc.linkingmanager.AddEditCountry.saveContact(AddEditCountry.java:101)
03-24 00:49:10.643:E/AndroidRuntime(6809):在com.nfc.linkingmanager.AddEditCountry.access$1(AddEditCountry.java:92)
03-24 00:49:10.643:E/AndroidRuntime(6809):在com.nfc.linkingmanager.AddEditCountry$1.doInBackground(AddEditCountry.java:65)
03-24 00:49:10.643:E/AndroidRuntime(6809):在android.os.AsyncTask$2.call(AsyncTask.java:264)
03-24 00:49:10.643:E/AndroidRuntime(6809):位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-24 00:49:10.643:E/AndroidRuntime(6809):。。。还有5个
03-24 00:49:10.663:D/Activity(6809):Activity.onPause(),editTextTapSensorList大小:0
03-24 00:49:10.693:I/Adreno200 EGLSUB(6809)::格式RGBA_8888。
03-24 00:49:10.693:D/memalloc(6809):离子:映射的缓冲区基址:0x5d4cb000大小:614400偏移量:0 fd:57
03-24 00:49:10.713:D/memalloc(6809):离子:映射缓冲区基址:0x5d8f7000大小:614400偏移量:0 fd:68
03-24 00:49:10.753:D/memalloc(6809):离子:映射缓冲区基址:0x5e14e000大小:614400偏移量:0 fd:72
03-24 00:49:10.753:D/memalloc(6809):离子:取消映射缓冲区基:0x5ca41000大小:614400
03-24 00:49:10.753:D/memalloc(6809):离子:取消映射缓冲区基:0x5dc22000大小:614400
03-24 00:49:10.753:D/memalloc(6809):离子:取消映射缓冲区基:0x5dcb8000大小:614400
类似于myHourVariable+”:“+myMinuteVariable”
?你能检查更新的尝试2并告诉我你看是否正确吗?(我正在尝试将时间选择器的currentHour和currentMinute组合成一个字符串)它正在崩溃…(强制关闭)从logcat粘贴堆栈跟踪如何?我更新了我的logcat(还有我的源代码,以及我现在所处的位置-我真的很感谢您的帮助-我已经在这个问题上纠缠了3天了,这让我发疯了)
03-24 00:48:57.779: D/Activity(6809): Activity.onPause(), editTextTapSensorList size: 0
03-24 00:48:57.959: I/Adreno200-EGLSUB(6809): <ConfigWindowMatch:2165>: Format RGBA_8888.
03-24 00:48:57.959: D/memalloc(6809): ion: Mapped buffer base:0x5ca41000 size:614400 offset:0 fd:54
03-24 00:48:58.049: D/memalloc(6809): ion: Mapped buffer base:0x5dc22000 size:614400 offset:0 fd:75
03-24 00:48:58.079: D/memalloc(6809): ion: Mapped buffer base:0x5dcb8000 size:614400 offset:0 fd:78
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5d4ce000 size:614400
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5d6f7000 size:614400
03-24 00:48:58.079: D/memalloc(6809): ion: Unmapping buffer base:0x5c929000 size:614400
03-24 00:49:10.623: W/dalvikvm(6809): threadid=12: thread exiting with uncaught exception (group=0x410889d8)
03-24 00:49:10.643: E/AndroidRuntime(6809): FATAL EXCEPTION: AsyncTask #2
03-24 00:49:10.643: E/AndroidRuntime(6809): java.lang.RuntimeException: An error occured while executing doInBackground()
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$3.done(AsyncTask.java:278)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.lang.Thread.run(Thread.java:856)
03-24 00:49:10.643: E/AndroidRuntime(6809): Caused by: java.lang.NullPointerException
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry.saveContact(AddEditCountry.java:101)
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry.access$1(AddEditCountry.java:92)
03-24 00:49:10.643: E/AndroidRuntime(6809): at com.nfc.linkingmanager.AddEditCountry$1$1.doInBackground(AddEditCountry.java:65)
03-24 00:49:10.643: E/AndroidRuntime(6809): at android.os.AsyncTask$2.call(AsyncTask.java:264)
03-24 00:49:10.643: E/AndroidRuntime(6809): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-24 00:49:10.643: E/AndroidRuntime(6809): ... 5 more
03-24 00:49:10.663: D/Activity(6809): Activity.onPause(), editTextTapSensorList size: 0
03-24 00:49:10.693: I/Adreno200-EGLSUB(6809): <ConfigWindowMatch:2165>: Format RGBA_8888.
03-24 00:49:10.693: D/memalloc(6809): ion: Mapped buffer base:0x5d4cb000 size:614400 offset:0 fd:57
03-24 00:49:10.713: D/memalloc(6809): ion: Mapped buffer base:0x5d8f7000 size:614400 offset:0 fd:68
03-24 00:49:10.753: D/memalloc(6809): ion: Mapped buffer base:0x5e14e000 size:614400 offset:0 fd:72
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5ca41000 size:614400
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5dc22000 size:614400
03-24 00:49:10.753: D/memalloc(6809): ion: Unmapping buffer base:0x5dcb8000 size:614400