我正在创建一个动态表单活动,我得到了如何从db创建表单的说明.活动基本上只是滚动问题列表并查看它们的类型并添加它们.所以这是一个将视图添加为问题的活动.这一切都很好.我试图将响应/问题保留在特定问题类中,这些类只是一个基本问题的子类.
我遇到的问题是当我尝试添加相机"问题"以提示用户拍照时,我无法在视图中获得结果.我在视图中管理了启动活动,并将结果返回到问卷调查活动.活动不知道将其添加到哪个问题,因为它都是动态完成的.因此,我尝试通过问题ID作为相机意图中的额外内容,并在问卷调查活动中接收它,然后滚动查看它添加的问题,如果它是相同的,它会将图片添加到与之关联的问题中.
它添加问题的方式是通过一个视图组,只为每个视图组插入一个部分.
这是启动相机的相关部分(我也试过使用它而没有捆绑).这是BaseQuestion的子类,它只是linearlayout的子类:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Bundle bundle = new Bundle();
bundle.putInt("questionId", getQuestionId());
intent.putExtras(bundle);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(
Environment.getExternalStorageDirectory(), "image.tmp")));
((Activity)getContext()).startActivityForResult(intent, TAKE_PHOTO);
Run Code Online (Sandbox Code Playgroud)
这是处理活动中结果的相关部分.
protected void onActivityResult(int requestCode, int resultCode,
Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
Bitmap image = null;
switch (requestCode)
{
case TAKE_PHOTO:
{
if (resultCode == RESULT_OK)
{
InputStream inputStream = null;
File file = new File(Environment.getExternalStorageDirectory(),
"image.tmp");
try {
inputStream = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (inputStream == …Run Code Online (Sandbox Code Playgroud) 我是新手,android并尝试显示从intent传递为额外字符串的消息,代码如下:
public class DisplayMessageActivity extends /*Activity*/ActionBarActivity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
TextView textView = (TextView) findViewById(R.id.display_message);
textView.setTextSize(40);
textView.setText(message);
setContentView(R.layout.activity_display_message);
setupActionBar();
}
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}else{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.display_message, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) { …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,因为我想从资产中显示一个pdf文件.我做了很多谷歌,并尝试了多种排列和组合,但没有工作.
码:
private void CopyReadAssets()
{
AssetManager assetManager = getActivity().getAssets();
InputStream in = null;
OutputStream out = null;
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/abc.pdf");
try
{
in = assetManager.open("abc.pdf");
out = getActivity().openFileOutput(file.getName(), Context.MODE_WORLD_READABLE);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
}
catch (Exception e)
{
Log.e("tag", e.getMessage());
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
}
private void copyFile(InputStream in, OutputStream out) throws IOException
{
byte[] buffer = new byte[1024];
int read;
while ((read = …Run Code Online (Sandbox Code Playgroud) 我可以在onBackPressed()方法的帮助下删除app.我是通过以下方法做到的:
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
QuestionListActivity.this.finish();
}
Run Code Online (Sandbox Code Playgroud)
但该应用程序仍然在多任务栏的单元格/选项卡中的实例.我想删除它.请建议..
因此,当点击图像时,我正在尝试启动新活动,该图像将以全屏图像开始新活动.为此,我编写了以下代码:
在XML文件中定义的ImageView:
<ImageView
android:id="@+id/sun"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sun_title"
android:layout_centerHorizontal="true"
android:contentDescription="@string/sun_image"
android:src="@drawable/sun" />
Run Code Online (Sandbox Code Playgroud)
这是我在单击图像时使用onClickListener来处理意图的地方:
ImageView imageView;
//begin onViewCreated Method
...
final Context classContext = null;
imageView = (ImageView) getView().findViewById(R.id.sun);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(classContext, Settings.class);
startActivity(i);
}
});
...
//end onViewCreated Method
Run Code Online (Sandbox Code Playgroud)
我使用以下代码没有错误,但是当我运行应用程序并点击图像时,应用程序崩溃并返回nullPointerException.这是logcat:
02-25 16:55:43.201: E/AndroidRuntime(3459): FATAL EXCEPTION: main
02-25 16:55:43.201: E/AndroidRuntime(3459): Process: com.andrewq.planets, PID: 3459
02-25 16:55:43.201: E/AndroidRuntime(3459): java.lang.NullPointerException
02-25 16:55:43.201: E/AndroidRuntime(3459): at android.content.ComponentName.<init>(ComponentName.java:77)
02-25 16:55:43.201: E/AndroidRuntime(3459): at android.content.Intent.<init>(Intent.java:3821)
02-25 16:55:43.201: E/AndroidRuntime(3459): …Run Code Online (Sandbox Code Playgroud) 我计划在日期之下制作包含动态事件的日历.但我没有得到关于它的好样本.什么是精确的名称调用如下图所示在android或分享一些想法.我有很多apk和相关的图像.但它背后没有确切的想法,android是否支持它.我计划在月,周,日显示日历.在谷歌搜索很多我写这个.它是否支持从2.3到4的所有版本.我在上面的verison 4上看到了一些博客业务日历支持.非常感谢善良和好主意.

android calendar android-intent android-layout android-listview
我Activity从ActivityA 开始B startActivityForResult(),ActivityB是半透明的,然后是Activity的A方法
protected void onActivityResult(int requestCode, int resultCode, Intent data) {}
Run Code Online (Sandbox Code Playgroud)
ActivityB 立即开始工作.
请建议.
我是新的Android开发人员,所以我需要你的帮助.我正在创建一个应用程序,其中按钮操作打开一个对话框.对话框有一个按钮.我可以关注按钮动作吗?请给出一些好的方法.谢谢
我希望我的活动显示3秒的屏幕,然后返回上一屏幕.但是当我使用时
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_layout);
TextView tvResult = (TextView)findViewById(R.id.textView1)
Thread.sleep(3000);
Intent i = new Intent(this,myActivity.class);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这不起作用.这个doesent显示活动等待3秒并返回.但是,我希望它在返回之前显示其内容.我该怎么做 ?
我想忽略一些null的intent键,因为用户在我的程序的第一个时间间隔内没有为它们输入任何值.看一看:
Intent getAll = getIntent();
//this value is entered and is from Activity A.
String b_spnr1 = getAll.getStringExtra("intnt_bSP1");
//Dosnt have any value yet and came from Activity B.
double[] dead_wght = getAll.getDoubleArrayExtra("dead_intnt");
Run Code Online (Sandbox Code Playgroud)
如果我运行它(为活动A输入一个值)并希望在此处看到它并忽略输入活动B的值,我得到NullpointerException错误.
如何更改此代码以获取插入的值并忽略活动B中其他值的缺失.