我在Android Studio Code中实现了GraphView,但我没有在我的应用中显示图表。如果我按下阅读按钮没有任何反应。那我该怎么办? 感谢您的时间和答案,我很感激。
package yourhome;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.Viewport;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;
import java.util.Random;
import yourhome.datasource.ActivityDataSource;
import static java.lang.Thread.sleep;
public class Hauptfenster extends AppCompatActivity {
private ListView mDrawerList;
private ArrayAdapter<String> mAdapter;
private ActionBarDrawerToggle mDrawerToggle;
private DrawerLayout mDrawerLayout;
private String mActivityTitle;
private static final Random RANDOM = new Random();
private LineGraphSeries<DataPoint> series;
private int lastX = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hauptfenster);
mDrawerList = (ListView) findViewById(R.id.navList);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mActivityTitle = getTitle().toString();
addDrawerItems();
setupDrawer();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
//GraphView initialiesieren
GraphView graph = (GraphView) findViewById(R.id.graph);
//Daten
series = new LineGraphSeries<DataPoint>();
graph.addSeries(series);
//Options
Viewport viewport = graph.getViewport();
viewport.setYAxisBoundsManual(true);
viewport.setMinY(1);
viewport.setMaxY(30);
viewport.setScrollable(true);
final TextView textView = (TextView) findViewById(R.id.textView);
Button lesenBtn = (Button) findViewById(R.id.lesenBtn);
lesenBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ActivityDataSource(textView).execute("someParams");
}
});
}
@Override
protected void onResume() {
super.onResume();
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry();
}
});
try {
Thread.sleep(600);
} catch (InterruptedException e) {
}
}
}
}).start();
}
private void addEntry() {
series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 10d), true, 10);
}
private void addDrawerItems() {
String[] osArray = { "Kamera", "LED", "Steckdosen" };
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray);
mDrawerList.setAdapter(mAdapter);
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(Hauptfenster.this, "Coming Soon!", Toast.LENGTH_SHORT).show();
}
});
}
private void setupDrawer() {
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getSupportActionBar().setTitle("Was möchten sie einsehen ?");
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
getSupportActionBar().setTitle(mActivityTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_hauptfenster, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) { return true;}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:0)
该行:
series = new LineGraphSeries<DataPoint>();
不包含任何数据。 你需要这样的东西:
series = new LineGraphSeries<DataPoint>(values);
其中值可以是整数值数组。