-2

さて、私はこのチュートリアルを見ていました: http://www.youtube.com/watch?v=9ew_Ajpqwqg#t=5m25s

ここでは、彼が Intent i = new Intent と書いていることがわかります......

しかし、私のアプリはそのようには機能しません:/

これが私のコードです

MainActivity.java

public class MainActivity extends Activity implements OnClickListener {

Button btnAddCategory, btnViewCategory;
EditText txtCategories;
TextView viewMain, viewAllCategories;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    txtCategories = (EditText) findViewById(R.id.txtCategories);
    viewMain = (TextView) findViewById(R.id.viewMain);
    btnAddCategory = (Button) findViewById(R.id.btnAddCategory);
    btnViewCategory = (Button) findViewById(R.id.btnViewCategory);
    viewAllCategories = (TextView) findViewById(R.id.viewAllCategories);

    btnAddCategory.setOnClickListener(this);
    btnViewCategory.setOnClickListener(this);


}

public void onClick(View arg0) {

    switch(arg0.getId())
    {
    case R.id.btnAddCategory: 
        boolean didItWork = true;

        try {           
        Categories entry = new Categories(MainActivity.this);
        entry.open();
        entry.createEntry(txtCategories.getText().toString());
        entry.close();
        } catch(Exception e) {
            didItWork = false;
        } finally {
            if (didItWork)
            {
                Dialog d = new Dialog(MainActivity.this);
                d.setTitle("New Category Created");
                TextView tv = new TextView(MainActivity.this);
                tv.setText("Success");
                d.setContentView(tv);
                d.show();
            }
        }
    break;
    case R.id.btnViewCategory:
        Intent i = new Intent("android.intent.action.SQLVIEW");
        startActivity(i);
    break;
    }
}


}

SQLView.Java

public class SQLView extends Activity {

protected void OnCreate(Bundle savedInstanceSatate) {
    super.onCreate(savedInstanceSatate);
    setContentView(R.layout.sqlview);
    TextView tv = (TextView) findViewById(R.id.infosFromDb);
    Categories info = new Categories(this);
    info.open();
    String data = info.getData();
    info.close();
    tv.setText(data);
} }

マニフェスト

        <activity
        android:name=".SQLView" android:label="@string/app_name">
            <action android:name="android.intent.action.SQLVIEW" />

            <category android:name="android.intent.category.LAUNCHER" />

    </activity>

ここで誰かが同じ問題を抱えているスレッドを読んだので、次のように変更しました。

case R.id.btnViewCategory:
            Intent i = new Intent(MainActivity.this, SQLView.class);
            startActivity(i);
        break;

したがって、例外は発生しませんが、空のビューが表示されます。アプリの名前しか表示されませんが、それだけです。ビュー内のすべての TextViews などはなくなりました。

これを処理する方法を知っている人はいますか?

前もって感謝します

4

1 に答える 1

1

ほとんどの場合、インテントを書きますが、何かを見逃してしまい、時間がかかります。問題の解決策はありませんが、YouTube ビデオを何度も見て不足している部分を見つけるよりはましだと思います。たとえば、プロジェクト名を右クリックします:Myandroidprojextの場合

   Myandroidprojext->new->other->Android Activity

これは、マニフェスト ファイルを変更したり余分な作業を行うことなく、新しいアクティビティを作成する簡単な方法です。

于 2013-06-03T18:37:15.633 に答える