我正在製作一個名爲ROME的應用程序,關於羅馬市。我有一個名爲eten的活動,意思是食物,我希望活動在打開時打開一個名爲etenlijst.pdf的pdf文件。無法訪問代碼錯誤
我到下面的代碼:
package com.example.rome;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.content.Intent;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import android.net.Uri;
import java.io.File;
import android.content.ActivityNotFoundException;
public class Eten extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eten);
// Show the Up button in the action bar.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_eten, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// This ID represents the Home or Up button. In the case of this
// activity, the Up button is shown. Use NavUtils to allow users
// to navigate up one level in the application structure. For
// more details, see the Navigation pattern on Android Design:
//
// http://developer.android.com/design/patterns/navigation.html#up-vs-back
//
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
Button OpenPDF = (Button) findViewById(R.id.OpenPdfButton);
OpenPDF.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
File pdfFile = new File("/ROME/Etenlijst.pdf");
if(pdfFile.exists())
{
Uri path = Uri.fromFile(pdfFile);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(pdfIntent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(Eten.this, "Installeer een geschikte applicatie om PDF's mee te openen", Toast.LENGTH_LONG).show();
}
}
}
});
}
}
但在包含行:按鈕OpenPDF =(按鈕)findViewById(R.id.OpenPdfButton); OpenPDF.setOnClickListener(新View.OnClickListener(){
的Eclipse給我一個錯誤:不可達代碼 我不知道如何解決這個問題,所以我問你 你知道如何解決這個和。 ?爲什麼這個錯誤出現
提前感謝, 井
PS我不是一個母語是英語,所以請看看我的問題,而不是在我的語法
編輯:
我到了你的有用的答案現在以下幾點:
package com.example.rome;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.content.Intent;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import android.net.Uri;
import java.io.File;
import android.content.ActivityNotFoundException;
public class Eten extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eten);
// Show the Up button in the action bar.
// getActionBar().setDisplayHomeAsUpEnabled(true);
/**** This looks like a good place for it *****/
Button OpenPDF = (Button) findViewById(R.id.OpenPdfButton);
OpenPDF.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
File pdfFile = new File("/ROME/Etenlijst.pdf");
if(pdfFile.exists())
{
Uri path = Uri.fromFile(pdfFile);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(pdfIntent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(Eten.this, "Installeer een geschikte applicatie om PDF's mee te openen", Toast.LENGTH_LONG).show();
}
}
}
});
}
}
但每當我去這個活動中我的應用程序或點擊按鈕,它不會打開文件或給敬酒? 你現在爲什麼?
的代碼是在'onOptionsItemSelected'方法。你的解釋是不正確的。 – rgettman 2013-05-02 20:44:06
@rgettman是的,我現在看到,謝謝。我想我看到了'return',並認爲它是函數的結尾,並且他們忘了添加'}'並且當然''Button'通過我關閉。無論如何,我已經更新了我的答案 – codeMagic 2013-05-02 20:49:24
你可以看看編輯嗎? – Ide 2013-05-03 14:03:46